Shr*_*esh 2 python forms django
我是django的新手。我在在线教程的帮助下在Django中创建表单。我不理解urls.py文件中的一行。有人可以解释它的确切含义吗?
from django.conf.urls import url
from . import views
from . views import BlogListView, BlogDetailView, BlogCreateView
urlpatterns = [
url(r'^$', views.BlogListView.as_view(), name='post_list'),
url(r'^post/(?P<pk>\d+)/$', BlogDetailView.as_view(), name='post-detail'),
url(r'^post/new/$', BlogCreateView.as_view(), name='post_new'),
url(r'^post/(?P<pk>\d+)/edit/$', BlogUpdateView.as_view(), name='post_edit'),
]
Run Code Online (Sandbox Code Playgroud)
我不明白以下内容:
url(r'^post/(?P<pk>\d+)/$'
Run Code Online (Sandbox Code Playgroud)
什么(?P<pk>\d+)/$意味着什么?请帮忙
小智 5
这是一个正则表达式,与实际网址匹配
在这里r''指定字符串是原始字符串。'^'表示开始,$表示结束。
现在,“ pk”(在<>中时)代表主键。主键可以是任何东西,例如。它可以是字符串,数字等。主键用于区分表的不同列。
在这里写
<pk>\d+
Run Code Online (Sandbox Code Playgroud)
\ d匹配[0-9]和其他数字字符。
“ +”表示数字中必须至少包含1个或多个数字
所以,
... / posts / 1有效
... / posts / 1234有效
... / posts /无效,因为数字中必须至少包含1位数字
现在,此数字作为参数发送到BlogListView,并使用此主键运行所需的操作