Django 视图层
2017-06-30 09:29
477 查看
URL映射
1、分布式url映射
include()函数提供分布式url映射功能,使URL映射可以被编写在多个url.py文件中
2、反向解析
反向解析在模版中调用方法:在模版文件中用{%url%}标签反向解析
python中用django.core.urlresolvers.reverse()函数调用反向解析
3、带参数的反向解析
在模版文件中反向解析,直接在{%url%}标签中添加参数
python 代码中带参数反向解析
视图函数
直接构造HTTP Body: 比如直接返回当前时间给客户端
用数据渲染HTML模版文件:需要用django.shotcuts.render()函数实现
返回HTTP错误
1、分布式url映射
include()函数提供分布式url映射功能,使URL映射可以被编写在多个url.py文件中
from django.conf.urls import url from django.contrib import admin from django.conf.urls import include urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^app/', include('app.urls')), # 反向解析到app/urls.py中 ]
2、反向解析
from django.conf.urls import url from . import views urlpatterns = [ url(r'moments_input',views.moments_input), url(r'wc',views.welcome,name='welcome'),# 通过name参数将该映射命名为welcome ]
反向解析在模版中调用方法:在模版文件中用{%url%}标签反向解析
<a href="{% url 'welcome' %}">查看信息</a>
<a href="/app/welcome/">查看信息</a>
python中用django.core.urlresolvers.reverse()函数调用反向解析
from django.http import HttpResponseRedirect from django.core.urlresolvers import reverse def moments_input(request): return HttpResponseRedirect(reverse('welcome'))
3、带参数的反向解析
from django.conf.urls import url from . import views urlpatterns = [ url(r'^year/?P<year>([0-9]{4})/$',views.year_moments,name='moments') ]
在模版文件中反向解析,直接在{%url%}标签中添加参数
<a href="{% url 'moments' ,2014%}">查看信息</a>
<a href="/year/2014/">查看信息</a>
python 代码中带参数反向解析
from django.http import HttpResponseRedirect from django.core.urlresolvers import reverse def redirect_to_year_2014(request): return HttpResponseRedirect(reverse('moments',args=(2014,)))
reverse()函数的args参数用于设置反向映射url参数
视图函数
直接构造HTTP Body: 比如直接返回当前时间给客户端
用数据渲染HTML模版文件:需要用django.shotcuts.render()函数实现
return render(request,'templates/moments.html',{'headline':m.headline,'user':m.user_name})
返回HTTP错误
from django.http import HttpResponseNotFound def my_view(request): return HttpResponseNotFound()
HttpResponseRedirect 302 用于URL重定向
HttpResponseNotModified 304 用于将上次请求缓存结果作为页面显示内容
HttpResponsePermanentRedirect 301 永久重定向
HttpResponseBadRequest 400 请求内容错误
HttpResponseForbidden 403 禁止访问错误
HttpResponseNotAllowed 405 用不允许的方法访问本页面
HttpResponseServerError 500 服务器内部错误
相关文章推荐
- django视图层进阶
- 【Django】 视图层说明
- Django初级手册3-视图层与URL配置
- 第一个django项目
- Django使用Apache2.2通过Mod_wsgi搭建站点服务器
- Django中的cookie与session操作实例代码
- Django, lxml, WSGI, and Python sub-interpreter magic
- Django开发博客(三)——在新的页面展示文章
- 浅谈django开发者模式中的autoreload是如何实现的
- windows上搭建apache+mysql+django的过程
- django开发框架之jumpserver
- django开发者模式中的autoreload是怎样实现的
- 【译】3.配置【django CMS】
- django/js 前后台对图片上传的处理
- 将Django项目搭建到服务器上
- mac django install
- django+uwsgi+nginx ajax post 504 Gateway Time-out
- Tonado与Django的比较
- vectorlayer图层为什么转kmllayer,data属性写入失败?
- CentOS+nginx+uwsgi+Python+django 环境搭建