Django URL的命令空间

Posted on 2016-07-13 11:09  NooBkey  阅读(213)  评论(0编辑  收藏  举报

为避免在模板中使用URL的硬编码,可以使用{% url %}模板标签来解决

<li><a href="/task/{{ task.id }}/">{{ task.name }}</a></li>
可以用以下方法替换
<li><a href="{% url 'detail' task.id %}">{{ task.name }}</a></li>

注:
detail是url中使用name参数定义
url(r'^(?P<task_id>\d+)/$', views.detail, name='detail')
如果多个应用中避免名字冲突,可以使用命名空间
在项目的URL中使用
urlpatterns = patterns('',
    url(r'^task/', include('task.urls', namespace="task")),
    url(r'^admin/', include(admin.site.urls)),
)
模板中可以写为
<li><a href="{% url 'task:detail' task.id %}">{{ task.name }}</a></li>



 
 

Copyright © 2024 NooBkey
Powered by .NET 8.0 on Kubernetes