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.(?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)	

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值