DJANGO中配置映射文件
时间: 2024-05-03 15:18:19 浏览: 134
在 Django 中,可以使用映射文件(mapping file)将 URL 映射到视图函数上。常用的映射文件是 urls.py 文件。
一般来说,一个 Django 项目中会有多个应用程序(app),每个应用程序都有自己的 urls.py 文件。在项目的主 urls.py 文件中,可以通过 include() 函数引入应用程序的 urls.py 文件。
例如,假设我们有一个应用程序叫做 blog,其中定义了一个名为 post_detail 的视图函数。在 blog 应用程序的 urls.py 文件中,可以这样定义:
```python
from django.urls import path
from .views import post_detail
urlpatterns = [
path('post/<int:pk>/', post_detail, name='post_detail'),
]
```
在项目的主 urls.py 文件中,可以通过 include() 函数引入 blog 应用程序的 urls.py 文件,并将其与一个 URL 前缀(如 /blog/)关联起来:
```python
from django.urls import include, path
urlpatterns = [
path('blog/', include('blog.urls')),
# ...
]
```
这样,当用户访问 /blog/post/1/ 时,Django 就会将该 URL 映射到 blog 应用程序中的 post_detail 视图函数上。其中,1 是 post 的主键值。
除了使用 path() 函数,还可以使用 re_path() 函数来支持正则表达式匹配。例如,可以在 blog 应用程序的 urls.py 文件中定义一个名为 archive 的视图函数,并将其与 /archive/ 或 /archive/2022/ 这样的 URL 关联起来:
```python
from django.urls import re_path
from .views import archive
urlpatterns = [
re_path(r'^archive/$', archive),
re_path(r'^archive/(?P<year>[0-9]{4})/$', archive),
]
```
在项目的主 urls.py 文件中,可以通过 include() 函数引入 blog 应用程序的 urls.py 文件,并将其与一个 URL 前缀(如 /blog/)关联起来:
```python
from django.urls import include, path
urlpatterns = [
path('blog/', include('blog.urls')),
# ...
]
```
这样,当用户访问 /blog/archive/ 或 /blog/archive/2022/ 时,Django 就会将该 URL 映射到 blog 应用程序中的 archive 视图函数上。其中,2022 是年份值,可以在视图函数中通过 year 参数获取。
阅读全文
相关推荐
















