项目文件夹中的urls.py与django中的应用程序文件夹之间有什么区别?

问题描述 投票:0回答:1

在django中,有一个让我有些眼花。乱的概念。为什么我们在项目文件夹中有一个urls.py却在我们的app文件夹中创建一个urls.py。

每个人做什么工作?

[两者之间如何建立关系,例如如何相互互动以建立django网站?

python django-2.1
1个回答
0
投票

项目文件夹中的urls.py是您网站的“基本” URL。然后,您可以使用urls.py将在特定路由上发出的请求转发到应用程序的include

这里是一个例子:

# project's urls.py

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('myapp/', include("myapp.urls")) # requests on a route starting with "myapp/" will be forwarded to "myapp.urls"
]

然后在myapp.urls中:

# myapp's urls.py
from django.urls import path
from . import views

app_name = "myapp"

urlpatterns = [
    path("", views.index, name="index"),
    path("contact/", views.contact, name="contact")
]

例如,如果我请求“ localhost:8000 / myapp / contact”,则您项目的urls.py将检测到它必须将请求转发到您的应用程序myapp,该应用程序将调用其视图views.contact

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.