初步学习django-第四篇:views.py文件详解

hcyjjp hcyjjp     2023-03-05     783

关键词:

http请求中产生的两个核心对象:

技术图片

http请求:HttpRequest
http响应:HttpResponse

所在位置:from django.http import HttpRequest,HttpResponse

1、HttpRequest:
HttpRequest对象的属性:

Attribute         Description      
path      

请求页面的全路径,不包括域名—例如,

“/music/bands/the_beatles/”

method  

请求中使用的HTTP方法的字符串表示。全大写表示。例如:

if request.method == ‘GET‘:

    do_something()

elif request.method == ‘POST‘:

    do_something_else()                                   

GET 包含所有HTTP GET参数的类字典对象。参见QueryDict文档。
POST  

包含所有HTTP POST参数的类字典对象。参见QueryDict文档。

服务器收到空的POST请求的情况也是有可能发生的。也就是说,表单form通过HTTP POST方法提交

请求,但是表单中可以没有数据。不能使用语句if request.POST来判断是否使用HTTP POST方法;

应该使用if request.method == ‘POST‘ (参见本表的method属性)。

注意:POST不包括file-upload信息。参见FILES属性。

REQUEST

这个属性再django1.9里面已经被移除掉了。

COOKIES 包含所有cookies的标准python字典对象。Keys和values都是字符串。
FILES

包含所有上传文件的类字典对象。FILES中的每个Key都是<input type="file" name=""/>标签中

name属性的值。FILES中的每个value同时也是一个标准Python字典对象,包含下面三个Keys:

  • filename:上传文件名,用Python字符串表示
  • content-type:上传文件的Content type
  • content:上传文件的原始内容

注意:只有在请求方法是POST,并且请求页面中<form>有enctype="multipart/form-data"属性时FILES才拥有数据。否则,FILES是一个空字典。

META  

包含所有可用HTTP头部信息的字典。例如:

  • CONTENT_LENGTH
  • CONTENT_TYPE
  • QUERY_STRING:未解析的原始查询字符串
  • REMOTE_ADDR:客户端IP地址
  • REMOTE_HOST:客户端主机名
  • SERVER_NAME:服务器主机名
  • SERVER_PORT:服务器端口

META中这些头加上前缀HTTP_最为Key,例如:

HTTP_ACCEPT_ENCODING

HTTP_ACCEPT_LANGUAGE

HTTP_HOST:客户发送的HTTP主机头信息

HTTP_REFERER:referring页

HTTP_USER_AGENT:客户端的user-agent字符串

HTTP_X_BENDER:X-Bender头信息

user

是一个django.contrib.auth.models.User对象,代表当前登录的用户。如果访问用户当前没有登录,user将被初始化为django.contrib.auth.models.AnonymousUser的实例。你可以通过user的is_authenticated()方法来辨别用户是否登录;

if request.user.is_authenticated():

    #Do something for logged-in users.

else:

    #Do something for anonymous users.

只有激活Django中的AuthenticationMiddleware时该属性才可用

session 唯一可读写的属性,代表当前会话的字典对象。只有激活Django中的session支持时该属性才可用。
raw_post_data 原始HTTP POST数据。未解析过。高级处理时会有用处。

 

HttpRequest对象的方法(部分):

get_full_path()   返回包含查询字符串的请求路径。例如,"/music/bands/the_beatles/?print=true"  

QueryDict对象(部分)

get() 如果key对应多个value,get()返回最后一个value。

在HttpRequest对象中,GET和POST属性时django.http.QueryDict类的实例。

2、HttpResponse:



django学习路3(代码片段)

1.打开DataSourcealtinsert打开DataSource找到db.sqlite3确定Download下载后TestConnection测试是否成功2.项目下的urls.py文件urlpatterns匹配网页集合写法url(正则,views.函数)url(r‘函数名/‘,views.函数)最好是斜线结尾views来自创建的app中,需要导入views... 查看详情

在 Django views.py 中读取配置文件

】在Djangoviews.py中读取配置文件【英文标题】:ReadconfigurationfileinDjangoviews.py【发布时间】:2017-08-0903:55:25【问题描述】:我的问题很简单:如何从Django项目中的views.py中读取任何.txt或.ini文件?我需要从设置中获取一个简单的参... 查看详情

django第四篇(代码片段)

模板的继承:你首先继承一个html页面,继承了意味你拥有父模板所有的东西,你只需要在父模板的基础上修改布局即可第一步;在父模板划分多个区域%block给区域起的名字%父模板需要被重写或者重用的代码%endblock%第二步,在子... 查看详情

Docker 上的 Django:如何从 views.py 访问文件

】Docker上的Django:如何从views.py访问文件【英文标题】:DjangoonDocker:Howtoaccessafilefromviews.py【发布时间】:2020-07-0409:49:39【问题描述】:我一直在docker环境下开发一个web应用程序。这样一来,容器中views.py访问其他文件的方法就失... 查看详情

如何从views.py文件将数据插入django数据库?

】如何从views.py文件将数据插入django数据库?【英文标题】:Howtoinsertdatatodjangodatabasefromviews.pyfile?【发布时间】:2016-06-0617:40:58【问题描述】:如何从views.py文件中的函数向我的django数据库插入数据?pythonmanage.pyshell是唯一的插入... 查看详情

Django:如何从views.py获取字典到javascript函数(html文件)

】Django:如何从views.py获取字典到javascript函数(html文件)【英文标题】:Django:howtogetadictionaryfromviews.pyintojavascriptfunction(htmlfile)【发布时间】:2019-04-0721:23:36【问题描述】:对html/javascript很陌生,但基本上在我的views.py中,我有... 查看详情

Django:如何通过views.py更改值

】Django:如何通过views.py更改值【英文标题】:Django:HowcanIchangesvaluesviaviews.py【发布时间】:2021-09-1823:25:16【问题描述】:我正在尝试制作一个“上传”页面,以便我可以使用pd.to_sql()将文件和进程上传到postgresDB。所有数据已成... 查看详情

为啥我的 django 模板无法识别我在 views.py 文件中设置的 url 参数?

】为啥我的django模板无法识别我在views.py文件中设置的url参数?【英文标题】:WhydoesmydjangotemplatenotrecognizetheurlparametersIsetinmyviews.pyfile?为什么我的django模板无法识别我在views.py文件中设置的url参数?【发布时间】:2021-12-0501:38:59... 查看详情

diango学习

python环境和Diango提前装好1.终端新建一个mysite项目:django-adminstartprojectmysite(如果django-admin不行,请用django-admin.py)mysite├──manage.py└──mysite├──__init__.py├──settings.py├──urls.py└──wsgi.py子目录mysite中是一些项目的... 查看详情

django后端开发学习笔记django基本概念(代码片段)

目录0.学习参考1.Django整体结构2.主要部分2.1将请求发送到正确的视图(urls.py)2.2处理请求(views.py)2.3定义数据模型(models.py)2.4呈现数据(HTML模版)3.创建网站框架3.1使用django-admin工具创建工程的文件夹,基本的文件模板和工程管理... 查看详情

Django:将带有 HTML 和 Django 模板标签的 Views.py 中的字符串变量注入 HTML 文件

】Django:将带有HTML和Django模板标签的Views.py中的字符串变量注入HTML文件【英文标题】:Django:InjectastringvariablefromViews.pywithHTMLandDjangotemplatetagsintoHTMLfile【发布时间】:2020-04-1715:45:57【问题描述】:所以这是我的问题:我有一个Pytho... 查看详情

小白入门深度学习|第四篇:配置pytorch环境

查看详情

Django 页面无法呈现 - views.py url 路径中的错误

】Django页面无法呈现-views.pyurl路径中的错误【英文标题】:Djangopagefailingtorender-errorinviews.pyurlpath【发布时间】:2017-12-2220:27:57【问题描述】:views.py文件中出现错误,因此无法加载页面。music/views.pyfromdjango.shortcutsimportrenderfromdjang... 查看详情

当socketserver和views.py分成两个文件时,如何通过django视图发送套接字消息?(代码片段)

环境:Python3.6和Django2.1我创建了一个Django网站和一个套接字服务器,文件组织如下:卷筒纸...用户(Django应用程序)__init__.pyviews.py...server.py实际上我想用django构建一个伞形租赁系统,服务器通过多线程套接字连接到伞架(发送... 查看详情

04-在views.py中使用class编写django项目

在views.py中使用class编写django项目知识点:urls.py配置文件本质是URL与要为该URL调用的视图函数之间的映射表1.用户信息展示页1.1在urls.py中添加用户展示页路由fromdjango.conf.urlsimporturlfromdjango.contribimportadminfromapp01importviewsurlpatterns=[url... 查看详情

如何在views.py Django中返回ajax响应以及重定向

】如何在views.pyDjango中返回ajax响应以及重定向【英文标题】:Howtoreturnajaxresponseaswellasredirectionintheviews.pyDjango【发布时间】:2021-12-2521:17:13【问题描述】:我试图在成功登录时响应ajax,但另一方面,我想根据用户配置文件进行检... 查看详情

golang学习(用代码来学习)-第四篇

/**一个用来进行goroutine的函数*/funcprint_something(msgstring) fori:=0;i<5;i++ time.Sleep(1*time.Second) fmt.Println(msg) /**异步相加,并将结果放在通道中*/funcadd_async(aint,bint,ch*chanint) time.Sleep(2*time.Seco 查看详情

使用javascriptonclickevent将数据传递给django中的views.py?(代码片段)

我有一点想法,使用ajax与JavaScript将数据发送到views.py,但我无法做到这一点。所以我要做的是我已经在图像上放了onclick事件,所以通过点击该图像我应该能够向views.py发送一些值。这是Hello.html文件。<imgsrc=""onclick="change()">Ja... 查看详情