您的位置:首页 > 编程语言 > Python开发

Python3之Django Web框架URL匹配、反向解析及部分错误处理

2017-10-20 14:47 1236 查看


使用Django注意点

urls使用:

1.如果在urls中匹配多次路径是相同的,那个视图函数只会执行一次,以后相同的视图函数不会再执行。

2.如果需要获取url地址栏的参数,需要在url加入分组,Django会将参数自动传给views中的视图函数,这时视图函数中的形参除了request还有另一个形参,分组分为无名分组和有名分组,无名分组会按照位置传参,有名分组会按照关键字传参:

(?P<关键字>):该种形式会按照关键字传参。


视图函数有几个分组就需要添加几个形参+1,为什么要+1,因为request参数是必须携带的,所以要加上request参数还有几个url分组匹配的参数,形式如下:

1.无名分组

url(r'^register.html/(\d+)/(\d+)', views.register),
def register(request,year,month):
pass


2.有名分组

url(r'^register.html/(?P<p1>\d+)/(?P<p2>\d+)', views.register),
def register(request,p2,p1):
pass


3.url的反向解析:

url(r’^admin/’, admin.site.urls, name=’admin’)

利用别名进行处理,模板页面需要路径的地方写入:{%url ‘admin’%},这样当页面进行渲染的时候,当前模板的路径会根据url匹配到路径将该路径填入模板对应的位置,然后进行渲染显示~

<form action="{% url 'login' %}" method="post">

url(r'^login.html', views.login, name='login'),


如果一个页面报这种错误,请检查以上代码是否正确,如下图:



如果一个页面报这种错误,请检查模板路径配置,如下图:





修正代码:

‘DIRS’:[os.path.join(BASE_DIR,’templates’)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息