在django中有一个让我有点眼花缭乱的概念。为什么我们要在我们的app文件夹中创建一个urls.py而我们在项目文件夹中有一个。
每个人的具体工作是什么?
两者如何相互关联,例如它们如何相互交互以制作 django 网站?
该urls.py项目文件夹是为您的网站“基地”的网址。然后,您可以将在特定路由上发出的请求转发到您的应用程序的urls.pyusing 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"
]
Run Code Online (Sandbox Code Playgroud)
然后在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")
]
Run Code Online (Sandbox Code Playgroud)
因此,例如,如果我请求“localhost:8000/myapp/contact”,您的项目urls.py将检测到它必须将请求转发到您的 app myapp,后者将调用其 view views.contact。
| 归档时间: |
|
| 查看次数: |
1118 次 |
| 最近记录: |