#coding=utf-8
from django.conf.urls import include, url
from django.contrib import admin
from DjangoUeditor import urls as DjangoUeditor_urls
from django.conf import settings
from .constant import *
from django.conf.urls.static import static
"""
知识点
1.(?P<tag_name>xxxx)格式用来描述该字段的标记名称,并且该字段可以被后面的进行引用
引用的方法(?P=tag_name),而且tag_name还是URL处理函数的传入参数名称
2.不可以嵌入到[] ()中进行多行注释,否则语法错误。但是可以进行单行注释。
3.name 可以作为url的引用,例如在网页模板中可以写如下的URL
(1)带参数的
<a href="{% url '<name>' arg1 arg2 arg3 ...%}></a>
(2)不带参数的
<a href="{% url '<name>' %}"></a>
(3)以tag来确定参数的
<a href="{% url '<name>' <tag_name>=xxxx%}"></a>
4.可以通过这种方式来对一个/xxx/片段的URL进行分离成不同的参数
来进行解析(?P<a_tag>[A-Z]+):(?P<b_tag>.+)/$
将一个片段分离成了两个参数
5.可以通过settings.DEBUG来构建debug和release两种使用环境下的访问限制
提高测试效率
6,NoReverseMatch.这个错误没有找到就是没有找到urlpatterns中的name而导致的,name必须和
reverse的第一个参数保持一致,reverse的第一个参数是viewname(视图名称)
7.django的静态资源的写法
*static是STATIC_URL的配置
/static/xxxxx 是直接相对host的地址
static/xxxxxx 是直接相对当前reference的地址
对于django静态资源的两种写法:
1.以变量的形式写入
{%load staticfiles%}
{%static 'xxx/xxxx'%}
2.以直接量写入
/static/xxxxxx
3.以STATIC_URL作为变量的形式写入
{{STATIC_URL}}xxx/xxx/xxx
"""
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^ueditor/', include(DjangoUeditor_urls)),
url(r'^column/(?P<column_slug_tag>[^/]+)/$', 'news.views.column' ,name=URL_NAME_COLUMN),
#url(r'^article/(?P<article_slug_tag>[^/]+)/$','news.views.article', name=URL_NAME_ARTICLE),
url(r'^(?P<pkey>\d+)/(?P<article_slug_tag>[^/]+)/$','news.views.article', name=URL_NAME_ARTICLE),
url(r'^re/(?P<a_tag>[A-Z]+):(?P<b_tag>.+)/$','news.views.re', name="news_re_demo"),
url(r'^$','news.views.index', name="index"),
#配置static的映射,name是static
#static(settings.STATIC_URL, document_root=settings.STATIC_ROOT),
#url(r'^static/(?P<path>.*)$','django.views.static.serve',{'document_root':settings.STATIC_ROOT}),
]
"""
static(url,document_root) 将文件以静态的形式进行访问,
但是不允许访问文件夹,仅允许访问文件
如果要访问应用下的静态资源,URL是STATIC_URL/xxxx的组合
"""
if settings.DEBUG:
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
django开发要点-URL的配置
最新推荐文章于 2024-01-30 14:00:41 发布