Django 2.0 入门练习中的url匹配的问题
在Django2.0的练习中,碰到url的正则匹配不上的现象,特记录:
在Django1.x中,教材给出的正则匹配是:
"""定义stu_logs的url模式"""
from django.conf.url import url
from . import views
app_name = 'stu_logs'#加在前面后面都可以运行
urlpatterns = [
# 显示主页
url(r'^$', views.index, name='index'),
# 显示所有的主题
url(r'^topics/$', views.topics, name='topics'),
# 显示特定主题的详细页面
url(r'^topics/(?P<topic_id>\d+)/$', views.topic, name='topic'),# 正则表达式中的**P是大写**.
]
但是用python3.x和Django2.x的并不能运行,所以,经过一番摸索,将其改为:
"""定义stu_logs的RUL模式"""
from django.urls import path, re_path
from . import views
app_name = 'stu_logs'
urlpatterns = [
# 页面
path('', views.index, name='index'),
# 显示所有的主题
path('topics', views.topics, name='topics'),
# 显示特定主题的详细页面
re_path('topics/(?P<topic_id>\d+)/', views.topic, name='topic'),# 正则表达式中的P是大写.
]
现在可以运行,显示出完整的网页设计版面。