django开发要点-URL的配置

#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.(?Pxxxx)格式用来描述该字段的标记名称,并且该字段可以被后面的进行引用
	引用的方法(?P=tag_name),而且tag_name还是URL处理函数的传入参数名称
2.不可以嵌入到[] ()中进行多行注释,否则语法错误。但是可以进行单行注释。
3.name 可以作为url的引用,例如在网页模板中可以写如下的URL
	(1)带参数的
	' %}">
	(3)以tag来确定参数的
	
4.可以通过这种方式来对一个/xxx/片段的URL进行分离成不同的参数
	来进行解析(?P[A-Z]+):(?P.+)/$
	将一个片段分离成了两个参数
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[^/]+)/$', 'news.views.column' ,name=URL_NAME_COLUMN),
	#url(r'^article/(?P[^/]+)/$','news.views.article', name=URL_NAME_ARTICLE),
	url(r'^(?P\d+)/(?P[^/]+)/$','news.views.article', name=URL_NAME_ARTICLE),
	url(r'^re/(?P[A-Z]+):(?P.+)/$','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.*)$','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)