Django中url模板使用总结
1.简单正则匹配
使用方法
template.html<a href="{% url 'list_delete' i.id %}">删除</a> <a href="{% url 'list_modify' i.id %}">修改</a>
urls.py
url(r'^index/list_delete/(?\d+)/$',list_delete,name='list_delete'), url(r'^index/list_modify/(?\d+)/$',list_modify,name='list_modify')
views.py
def list_delete(request, id: ...
说明
在Django中一个url的跳转可以不需要通过通过JS来完成,我们可以在url.py中定义这个url的路径,添加相应正则表达式匹配相应id来完成批量的连接跳转定义。这样就会生成类似/index/list_modify/4/
这样的url,id号由数据库的数据来定。最后可以在view.py中引用id这个变量,来完成特定操作
2.结构固定带参数的url
使用方法
template.html<a href="{% url 'daily_report' year=2016 month=9 %}"> <a href="{% url 'daily_report' 2016 9 %}">
urls.py
url(r'^index/daily_report/(?P<year>\d+)/(?P<month>\d+)/$',daily_report,name='daily_report'),
views.py
def daily_report(request, year, month): ...
- 说明
结构固定的url模板编写如上所示,需要注意的是,template中参数可以根据Key值指定也可以按照顺序填写。
3.结构不固定带参数的url
使用方法
template.html<a href="{% url 'query' %}?database=db...">
urls.py
url(r'^query$', 'query', name='query')
views.py
def query(request): database = request.GET.get('database') ...
- 说明
当url结构不固定是,则采用GET方法传递参数,在后台获取各参数的值。