Django URL的命令空间

为避免在模板中使用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>


 
 
时间: 2024-08-07 12:32:20

Django URL的命令空间的相关文章

django -- url (模版语言 {% url &#39;test1&#39; param1=5 param2=6 %})

如果想让form表单提交的url是类似 action="/index-5-6.html" 这样的,可以在html模版语言中使用{% url 'test1' param1=5 param2=6 %} urls.py from django.conf.urls import url, include from mytest import views urlpatterns = [ url(r'^index-(?P<param1>\d+)-(?P<param2>\d+

转 Django url 标签的使用

Django url 标签的使用 期初用django 开发应用的时候,完全是在urls.py 中硬编码配置地址,在views.py中HttpResponseRedirect()也是硬编码转向地址,当然在template 中也是一样了,这样带来一个问题,如果在urls.py 中修改了某个页面的地址,那么所有的地方(views.py和template中)都要修改.如果是个很大的工程,那么要修改的地方就很多.当然,你也许会选择一个工具,直接查找替换来实现.除此之外呢..... 其实django 本身就

C#设置有命令空间的属性

之前被问到一个问题,C#中如何设置android:name这样的属性?我的第一反应是直接setAttribute不就可以了么 SetAttribute(name, value), 可事实上却不行,因为本身并没有什么C#的开发经验,周围也没什么人搞这个,所以就只能通过搜索了.   最后通过搜索发现它需要指定命令空间,详情可参考这里>> SetAttribute(localName, namespaceURI, value) 所以设置android:name的方法就类似这样: xx.SetAttr

Django URL(路由系统)

Django URL Django 1.11版本 URLconf官方文档 URL配置(URLconf)就像 Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表:就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码. 一.URLconf 基本格式: from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 参数说明:

Django URL路由分发系统

Django  URL路由分发系统 URL匹配过程 在Django中,我们使用urls.py模块处理url的分发 例:http://127.0.0.1:8080/abindex?a=1 1)去除域名和端口以及 /,剩下 abindex?a=1 2)拿 abindex?a=1 先到项目的 url.py 去匹配,然后拿剩下的index再到应用下面的urls.py去匹配 3)如果匹配成功,则调用相应的视图函数产生的内容返回给客户端.匹配失败的话则返回404错误. from django.conf.ur

类的命令空间

1. 类可以定义两种属性: 1> 静态属性:直接在类中定义的变量,是共享给所有实例对象的: 2> 动态属性:定义在类中的方法,是绑定到所有实例对象的: 3> 创建一个对象/实例就会创建一个对象/实例的名称空间,存放对象/实例的名字,称为对象/实例的属性: 4> 对象/实例访问对象时,先找自己的,没有再找类的,之后再找父类的,再没有就抛错: class Course: language = ['Chinese'] def __init__(self,teacher,course,pe

DJango — URL的Reverse和Resolve

DJango系列的上一篇我们讲到了它是怎么解析和匹配URL的,并从URL中提取一些有用的信息(曾以year和month为例);但是,URL的管理仍然是一个巨大的工程,我们不得不维护数量庞大的pattern,即使有正则表达式的支持.另一方面,URL数量的增大也将带来匹配和解析正确性的考验.这一篇我们会进一步深入URL的学习,并掌握Reverse和Resolve. 一:Reverse和Resolve的作用我们可以为某一个url映射定义一个名字,称之为url_name,这样有什么用呢?在此之前我们先介

Django之常用命令以及问题汇总

基本命令 1.新建一个django项目 django-admin.py startproject project-name 2.新建一个app python manage.py startapp app-name 3.同步数据库 python manage.py syncdb 注意:Django 1.7.1及以上的版本需要用以下命令python manage.py makemigrationspython manage.py migrate 这种方法可以创建表,当你在models.py中新增了类

Django UrL 解析

Django的路由系统 URLconf 本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行. 1.1 django版本2.0以下的url配置 from django.conf.urls import url # 支持正则匹配 from . import views urlpatterns = [ url(r'^articles/2003/$', views.special_case_2003), url(r