python - Django 中的空白 URL 模式

标签 python django django-urls

我继承了一个 Django 应用程序,并注意到 urlpatterns +=patterns('') 以及整个 urls.py 中的等效内容。

例如

urlpatterns = patterns(
    '', 
    url(r'^index.html', render_index),
)

#... 

urlpatterns += patterns(
    '', 
    url(r'^page.html', another_controller),
)

这是在做什么?任何事物?

最佳答案

它在 patterns() 函数中是必需的,因为patterns() 的第一个参数用作 URL 的公共(public) View 前缀。来自文档:

urlpatterns = patterns('',
    (r'^articles/(\d{4})/$', 'news.views.year_archive'),
    (r'^articles/(\d{4})/(\d{2})/$', 'news.views.month_archive'),
    (r'^articles/(\d{4})/(\d{2})/(\d+)/$', 'news.views.article_detail'),
)

更简单地写为:

urlpatterns = patterns('news.views',
    (r'^articles/(\d{4})/$', 'year_archive'),
    (r'^articles/(\d{4})/(\d{2})/$', 'month_archive'),
    (r'^articles/(\d{4})/(\d{2})/(\d+)/$', 'article_detail'),
)

但是,从 Django 1.8 开始,urls.py 中的 urlpatterns 变量是使用一个简单的列表创建的:

urlpatterns = [ 
    url(r'^index.html', render_index),
    url(r'^page.html', another_controller),
]

并且不需要此 View 前缀参数。

关于python - Django 中的空白 URL 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40835760/

相关文章:

Python 访问 S3 创建的 AWS SQS 消息

mysql - 讨论论坛中赞成票/反对票的数据库设计?

python - Python中线性拟合约束通过第一个点

用于可视化、操作和导出数据点的 JavaScript?

django - 如何将404或500或403之类的错误重定向到Apache httpd中的自定义错误页面?

database - Django 中的变量表名

django - 无法在heroku上启动gunicorn(Django Node应用程序)错误: Connection in use: ('0.0.0.0' , 46831)

django - 列出所有子网址并检查 python 中是否损坏

django - 在 Django 中,如何在提交 CreateView 时重定向到 UpdateView?

python - reST/Sphinx 中链接内的替换