http请求: HttpRequest

http响应: HttpResponse

所在位置:django.http

isinstance(request,HttpResponse) True->request的类型就是HttpRequest

HttpRequest对象属性:

Attribute Description
path 请求页面的全路径
method ```请求中使用的HTTP方法的字符串表示。全大写表示。例如

       if quest.method == 'GET':

do_something()

elif request.method == 'POST': 

do_something_else() ```

|GET |包含所有HTTP GET参数的类字典对象 |

|POST |包含所有HTTP POST参数的类字典对象 |

    localhost:8000/hello/?name=12345

参数名为name,在接收的时候可以如下

    def hello(request):
print(quest.GET.get('name'))
get() 如果key对应多个value,get()返回最后一个value

form-表单

response = HttpResponse("Here is the text of the web page",mimetype="text/plain")
return response
#等价
return render(request,'table.html',{'foo':'bar'}) t = loader.get_template('table.html')
c = {'foo':'bar'}
return HttpResponse(t.render(c,request),content_type="text/html") from django.shortcuts import render_to_response
return render_to_response('table.html',{'foo':'bar'})

redirect 页面跳转

from django.shortcuts import redirect
... ...
return redirect('http://www.baidu.com')

locals()

#locals()将当前作用于的变量全部传递给模板变量
return render_to response('table.html',locals())

demo

# -*- coding: utf-8 -*-
from __future__ import unicode_literals from django.shortcuts import render
from .models import myQuestion,myAnswer
# Create your views here. def research(request):
question_list = myQuestion.objects.all()
answer_list = myAnswer.objects.all()
context = {'question_list':question_list,'answer_list':answer_list}
return render(request,"polls/index.html",context)

在该demo中

首先从models中引入模型myQuestion,myAnswer

from .models import myQuestion,myAnswer

其次定义了一个函数hello,这个地方的hello名称要与urls.py中名称对应,例如hello出现在urls.py如下:

urlpatterns = [
url(r'^$',views.hello,name = 'hello'),
]

之后调用

question_list = myQuestion.objects.all()

函数,将myQuestion模型的全部变量以列表形式赋值给question_list,下句类似

然后

context = {'question_list':question_list,'answer_list':answer_list}

将列表转成字典,并起上名称,一同赋值给context

最后

return render(request,"polls/index.html",context)

将内容context放进templates/polls/index.html文件中渲染,显示

django搭建web (五) views.py的更多相关文章

  1. django搭建web (二) urls.py

    URL模式: 在app下的urls.py中 urlpatterns=[ url(正则表达式,view函数,参数,别名,前缀)] urlpatterns=[ url(r'^hello/$',hello. ...

  2. django搭建web (四) models.py

    demo 该demo模型主要是用于问题,选择单个或多个答案的问卷形式应用 # -*- coding: utf-8 -*- from __future__ import unicode_literals ...

  3. django搭建web (三) admin.py -- 待续

    demo 关于模型myQuestion,myAnswer将在后述博客提及 # -*- coding: utf-8 -*- from __future__ import unicode_literals ...

  4. PyCharm社区版+Django搭建web开发环境-2

    接上一篇:PyCharm社区版+Django搭建web开发环境-1 1. 创建好django项目并建立app应用:web 2. setting.py:配置app应用 INSTALLED_APPS = ...

  5. python +Django 搭建web开发环境初步,显示当前时间

    1.python 的安装 网上很多关于django跟python 开发的资料,这块我正在实习准备用这个两个合起来搞一个基于web 的东西出来现在开始学习,写点东西记录一下心得. 开发环境是window ...

  6. Python & PyCharm & Django 搭建web开发环境

    一.安装软件 1.安装 Python 2.7.PyCharm.pip(Python包管理工具).Django ( pip install Django) 二.部署 1.PyCharm 新建Django ...

  7. django搭建web (一)

    建立工程 django-admin.py startproject project_name 建立app python manage.py startapp app_name 将app添加进工程中 在 ...

  8. PyCharm社区版+Django搭建web开发环境-1

    PyCharm开源社区版不像商业版那样可以直接通过Django来创建项目,必须通过以下几个步骤进行: 1. 创建项目:在cmd命令行下输入:django-admin startproject Demo ...

  9. PyCharm社区版+Django搭建web开发环境

    PyCharm开源社区版不像商业版那样可以直接通过Django来创建项目,必须通过以下几个步骤进行: 1. 创建项目:在cmd命令行下输入:django-admin startproject Demo ...

随机推荐

  1. Shell 的特殊变量

    2017-08-02 1.$0 获取当前脚本的名称或全路径 cat name.sh Linux shell sh name.sh echo $0 name.sh 2.$n(n >=1) 获取脚本 ...

  2. ViewGroup事件分发机制解析

    最近在看View的事件分发机制,感觉比复杂的地方就是ViewGrop的dispatchTouchEvent函数,便对照着源码研究了一下.故名思意这个函数起到的作用就是分发事件,在具体分析之前还要说明几 ...

  3. webpack学习(二):先写几个webpack基础demo

    一.先写一个简单demo1 1-1安装好webpack后创建这样一个目录: 1-2:向src各文件和dist/index.html文件写入内容: <!DOCTYPE html> <h ...

  4. [Luogu4174][NOI2006]最大获益

    luogu sol 一周没摸键盘了回来刷刷水题练练手感 显然,最大化收益可以转化为最小化损失,从而建立最小割模型. 记\(tot=\sum_{i=1}^{m}C_i\),事先假设所有的获益都得到了,那 ...

  5. 【BZOJ1096】【ZJOI2007】仓库建设(斜率优化,动态规划)

    [BZOJ1096][ZJOI2007]仓库建设(斜率优化,动态规划) 题面 Description L公司有N个工厂,由高到底分布在一座山上.如图所示,工厂1在山顶,工厂N在山脚.由于这座山处于高原 ...

  6. 【BZOJ1006】神奇的国度(弦图)

    [BZOJ1006]神奇的国度(弦图) 题面 BZOJ 题解 直接参考弦图的做法 #include<iostream> #include<cstdio> #include< ...

  7. [SDOI2015]约数个数和

    Sol 首先有个结论 \(\sum_{i=1}^{m}\sum_{j=1}^{n}d(i*j)=\sum_{i=1}^{m}\sum_{j=1}^{n}\sum_{x|i}\sum_{y|i}[gcd ...

  8. poi导入Excel,数字科学记数法转换

    在这里分享一下使用poi 导入Excel时 把数字转换为科学记数法的解决方法: 就是使用DecimalFormat对 i 进行了格式化 结果为:

  9. springmvc结合ajax的分页功能

    var itemCount;//符合查找条件的商品总页数,分页参考 var pageIndex = 0;//当前页,默认为0 var pageSize = 8;//每页显示个数为8 //按条件查找用户 ...

  10. PHP+MySQL分页原理实现

    功能简介:包含上一页.下一页.首页.尾页.跳转页面等功能. 编码寄语:化繁为简,则豁然开朗. 运行截图: 关键步骤: 创建数据库 CREATE TABLE `page` ( `ID` ) NOT NU ...