码迷,mamicode.com
首页 > Web开发 > 详细

Django之反向生成url

时间:2017-11-16 20:47:21      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:bsp   url路径   views   response   ons   目录   img   路由   settings   

说明:

  通过反向生成,可以实现通过models中的表名、app名等灵活生成相应的url路径。

首先介绍一下Django的url

 

1.django项目文件中的settings.py中

1 ROOT_URLCONF = CRM_project.urls

设置了浏览器访问该项目都将从CRM_project目录下的urls文件中定制的url路径访问。

 2.Django默认设置的url在项目CRM_project目录下的urls.py文件中。

from django.conf.urls import url,include
from django.contrib import admin

urlpatterns = [
    url(r^admin/, admin.site.urls),
]

这个url路由的意义就是,通过正则匹配用户浏览器访问的url地址,然后对应一个view视图函数,

发给视图函数一个request,视图函数会返回一个response给浏览器。

1 urlpatterns = [
2 url(r^articles/([0-9]{4})/([0-9]{2})/$, views.month_archive),
3 url(r^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$, views.article_detail),
4 url(r^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/$, views.month_archive),
5 url(r^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<day>[0-9]{2})/$, views.article_detail),
6 
7 ]
可以使用命名的正则表达式组来捕获URL 中的值并以关键字 参数传递给视图。
通过圆括号可以进行位置传参,通过有名分组的方式可以进行关键字传参。
在Python 正则表达式中,命名正则表达式组的语法是(?P<name>pattern),其中name 是组的名称,pattern 是要匹配的模式。
1 # urls.py
2 # 替换index的url
3 url(r^$, views.index, {string: Hello World!})
4 
5 # views.py
6 def index(request, string):
7     return HttpResponse(string, text/plain)

可以通过在路由表中写一个字典来给视图函数传参。

ps:

application/xml 、 text/xml、text/html、text/plain的区别

1、text/html是html格式的正文

2、text/plain是无格式正文

3、text/xml忽略xml头所指定编码格式而默认采用us-ascii编码

4、application/xml会根据xml头指定的编码格式来编码。

 

Url的命名空间

 

 

 

 

 

 

 

 

 

 

 

Django之反向生成url

标签:bsp   url路径   views   response   ons   目录   img   路由   settings   

原文地址:http://www.cnblogs.com/ArmoredTitan/p/7702600.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!