阅读背景:

Django 再次学习笔记整理

来源:互联网 

url 路由系统

urlpatterns = [
	# path('admin/', admin.site.urls),
	path('index/', views.index),
	re_path('^edit/(\w+)/$',views.edit1),		# 加上 $  
	re_path('^edit/(\w+).html$',views.edit2),	# 如果前面不加结尾符,则不能匹配此url
	re_path('^edit/(?P<a2>\w+)/(?P<a1>\w+).html$',views.edit3), 
	# 按参数名传参    # def edit3(request,*args,**kwargs):
	# 不要将(\w+)与(?P<a2>\w+)混用
	
	
	path('index2/', views.index2,name='n2'),# 给url命名;在函数中通过别名反找到url
		from django.urls import reverse
		def index2(request):
			v = reverse('n2')		
			return HttpResponse(v)	# 通过别名反找到url,反生成url
		
	re_path('index3/(\w+)', views.index3,name='n3'),	# 可随意生成(\w+)位置的值
		def index3(request,*args):
			v = reverse('n3',args=(123,))    
			# 请求url:index3/3        生成url:index3/123
			# 有多少(\w+),args=(,)就写多少个参数
			return HttpResponse(v)
	
	re_path('^index4/(?P<a2>\w+)/(?P<a1>\w+).html$', views.index4,name='n4'),# 可随意生成(?P<a2>\w+)位置的值
		def index4(request,**kwargs):
			v = reverse('n4',kwargs={'a2':666,'a1':777))        # 
			# 请求url:index4/4/3        生成url:/index4/666/777.html
			# 有多少(?P<a2>\w+),kwargs={,}就写多少个键值对
			return HttpResponse(v)
	
	re_path('^', default)
		# 此规则放最后
		# 什么都不输或者输错了,将会被匹配    # def default(request):return HttpResponse('url 错误')
]
urlpatterns = [
	# path('admin/'



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: