玩转 Django2.0 笔记1
模板静态


路由


urls.py
urlpatterns = [ path("<year>/<int:month>/<slug:day>",mydate),
re_path("(?P<year>[0-9]{4}).html",myyear,name='myyear'), ] views.py def mydate(request,year,month,day):
print(year,type(year))
print(month,type(month))
print(day,type(day))
return HttpResponse(str(year) + "/" + str(month) + "/" + str(day)) def myyear(request,year):
return render(request,"myyear.html") myyear.html
<div><a href="/2018.html">2018 old Archive</a></div>
<!--myyear 为url名 与urls.py 所设置的参数name 一一对应,
2018 为该url的变量
-->
<div><a href="{% url 'myyear' 2018 %}">2018 Archive</a></div>
视图
Django采用MTV的框架模式,即模型(Model)、模板(Template)和视图(Views),三者之间各自负责不同的职责。
- Model模型,数据存取层,处理与数据相关的所有事务,例如如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。
- Views视图,表现层,处理与表现相关的决定,例如如何在页面或其他类型文档中进行显示。
- Template模板,业务逻辑层,存取模型及调取恰当模板的相关逻辑,模型与模板的桥梁。
视图是Django的MTV架构模式的V部分,主要负责处理用户请求和生成相应的响应内容,然后在页面或其他类型文档中显示。也可以理解为视图是MVC架构里面的C部分(控制器),主要处理功能和业务上的逻辑。
视图函数完成请求处理后,必须通过return方式返回数据内容给用户,常用的返回方式由render()、render to response()和redirect()函数实现。其中,render()和render_to_response()实现的功能是一致的。render_to_response()自2.0版本以来已开始被弃用,并不代表在2.0版本无法使用,只是大部分开发者都使用render()。render()语法如下
render(request,template_name,context =None,content type=None,status=None,using=None)
render()的参数request和template_name是必需参数,其余的参数是可选参数。
各个参数说明如下。
- request:浏览器向服务器发送的请求对象,包含用户信息、请求内容和请求方式等。
- template_name:HTML模板文件名,用于生成HTML网页。
- context:对HTL模板的变量赋值,以字典格式表示,默认情况下是一个空字典。
- content type:响应数据的数据格式,一般情况下使用默认值即可。
- status:HTTP状态码,默认为200。
- using:设置HTML模板转换生成HTML网页的模板引擎。

玩转 Django2.0 笔记1的更多相关文章
- 《玩转Django2.0》读书笔记-探究视图
<玩转Django2.0>读书笔记-探究视图 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 视图(View)是Django的MTV架构模式的V部分,主要负责处理用户请求 ...
- 《玩转Django2.0》读书笔记-编写URL规则
<玩转Django2.0>读书笔记-编写URL规则 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. URL(Uniform Resource Locator,统一资源定位 ...
- 《玩转Django2.0》读书笔记-Django配置信息
<玩转Django2.0>读书笔记-Django配置信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 项目配置是根据实际开发需求从而对整个Web框架编写相应配置信息. ...
- 《玩转Django2.0》读书笔记-Django建站基础
<玩转Django2.0>读书笔记-Django建站基础 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.网站的定义及组成 网站(Website)是指在因特网上根据一 ...
- <玩转Django2.0>读书笔记:表单
1. 表单字段 参考: 官方文档 Django表单字段汇总 2. 表单代码示例(forms.Form) # form.py代码 # 获取数据库数据 choices_list = [(i+1,v['ty ...
- <玩转Django2.0>读书笔记:模板和模型
1. 模板内置标签 Django常用内置标签 标签 描述 {% for %} 遍历输出变量的内容 {% if %} 对变量进行条件判断 {% csrf_token %} 生成csrf_token标签, ...
- <玩转Django2.0>读书笔记:邮件和分页
1. 发送邮件 # settings.py设置 # 邮箱设置 EMAIL_USE_SSL = True # 邮件服务器 EMAIL_HOST = 'smtp.qq.com' # 邮件服务端口 EMAI ...
- <玩转Django2.0>读书笔记:URL规则和视图
1. 带变量的URL #urls.py from django.urls import path from .view import * urlpatterns = [ path('',index_v ...
- 玩转Django2.0---Django笔记建站基础十二(Django项目上线部署)
第十二章 Django项目上线部署 目前部署Django项目有两种主流方案:Nginx+uWsGI+Django或者Apache+uWSGI+Django.Nginx作为服务器最前端,负责接收浏览器的 ...
随机推荐
- sort的cmp函数
sort的cmp函数只能写return a>b;或者return a<b;
- Mysql修改表备注, 列信息
1.添加表和字段的注释 创建数据表的同时,给表和字段添加注释 -- 创建用户信息表 CREATE TABLE tb_user ( id INT AUTO_INCREMENT PRIMARY KEY C ...
- python3快速安装
linux环境快速安装python3 之前在linux上安装python3的时候,为了让不影响linux环境原有的python2的环境,选择的方法都是下载对应的linux环境的python包,不过 ...
- java加拼音的工具 pinyinutil
<!--汉字转拼音--> <dependency> <groupId>com.belerweb</groupId> <artifactId> ...
- java代码优化写法1(转摘)
源文地址:https://blog.csdn.net/qq_15766297/article/details/70503222 代码优化,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修 ...
- Unity IoC Base On MVC
Unity框架,是一个经典的IoC模式实现方式,其通过config文件配置section,将接口与实现解藕,config中的section配置的container以全名称对应,使得应用程序无需像Nin ...
- 使用scrapy框架来进行抓取的原因
在python爬虫中:使用requests + selenium就可以解决将近90%的爬虫需求,那么scrapy就是解决剩下10%的吗? 这个显然不是这样的,scrapy框架是为了让我们的爬虫更强大. ...
- 根据url的属性名来取属性值赋值给js
1.方法一:js的正则表达式:请求路径:http://127.0.0.1/pec/jsp/member/refundOrder.jsp?status=4 <script> var stat ...
- 出现 cannot download, $GOPATH not set. For more details see: go help gopath
执行安装 sudo go get github.com/nsf/gocode 提示: cannot download, $GOPATH not set. For more details see: g ...
- Swoole协程报错 Uncaught Error: Call to undefined function go()
解决方法, 在PHP.ini中开启短名