django中配置app的url
时间: 2024-01-22 15:02:50 浏览: 151
可以在项目的urls.py中使用include()函数引入app的urls.py文件,例如:
```
from django.urls import include, path
from . import views
urlpatterns = [
path('app/', include('app.urls')),
path('home/', views.home),
]
```
这段代码中,当访问'/app/'时,就会去app的urls.py中查找对应的视图函数。
相关问题
django的app中新建url.py怎么写
在 Django 的 app 中新建 `url.py` 文件的写法如下:
1. 在 app 目录下创建一个名为 `urls.py` 的文件。
2. 在 `urls.py` 文件中导入 Django 的 `path` 函数和你想要使用的视图函数,例如:
```python
from django.urls import path
from . import views
```
3. 定义一个名为 `urlpatterns` 的列表,用于存储 URL 映射关系。在列表中使用 `path` 函数来定义 URL 和对应的视图函数,例如:
```python
urlpatterns = [
path('home/', views.home, name='home'),
path('about/', views.about, name='about'),
]
```
上述代码中,`home/` 和 `about/` 是 URL 地址,`views.home` 和 `views.about` 是对应的视图函数。
4. 在 app 的主 `urls.py` 文件中导入 app 的 `urls.py` 文件,并将其包含在主 URL 配置中。例如,在项目的主 `urls.py` 文件中添加以下代码:
```python
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('app/', include('app.urls')),
]
```
上述代码中,`include('app.urls')` 将包含 app 的 `urls.py` 文件。
这样,在访问 `http://yourdomain/app/home/` 时,将调用 `views.home` 视图函数。同理,访问 `http://yourdomain/app/about/` 将调用 `views.about` 视图函数。
注意:需要根据自己的实际情况修改 URL 地址和视图函数的名称。
DJANGO中配置映射文件
在 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 参数获取。
阅读全文