link 主页和 Django 网址中关于页面的正确方法是什么?
What is the correct way to link home and about page in django urls?
现在我正在做的是:
页面应用 > urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('about', views.about, name='about'),
]
项目 > urls.py
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('pages.urls')),
] + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
这似乎工作正常。我可以正常进入主页和关于页面,但我看到其他人这样做如下:
项目 > urls.py
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('pages.urls')),
path('about/', include('pages.urls')),
] + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
所以基本上,在项目 urls 文件中,行
'path('about/', include('pages.urls')),'
添加并保持页面 url 与上面相同。
所以我想知道在项目 urls 文件中链接关于页面的正确方法是什么。
在页面应用程序中,您必须创建 urls.py 文件并 link url 到视图
urlpatterns = [
path('about/', views.about, name='about'),]
并且在模板中,您可以使用名称
调用 url
如果您的应用程序中有不止一个视图和一个 url,并且您希望将所有视图都放在某个 url 前缀之后,您可以将该前缀放在 [=12] =]根。
所以假设您有 products
和 categories
视图,并且您希望它们位于 api
前缀之后。这意味着 /api/products/
和 /api/categories/
那么您将在 "api" 应用程序中拥有:
from django.urls import path
from . import views
urlpatterns = [
path('products', views.products, name='products'),
path('categories', views.categories, name='categories'),
]
在你的根 urls.py:
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', include('api.urls')),
] + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
现在我正在做的是:
页面应用 > urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('about', views.about, name='about'),
]
项目 > urls.py
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('pages.urls')),
] + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
这似乎工作正常。我可以正常进入主页和关于页面,但我看到其他人这样做如下:
项目 > urls.py
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('pages.urls')),
path('about/', include('pages.urls')),
] + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
所以基本上,在项目 urls 文件中,行
'path('about/', include('pages.urls')),'
添加并保持页面 url 与上面相同。
所以我想知道在项目 urls 文件中链接关于页面的正确方法是什么。
在页面应用程序中,您必须创建 urls.py 文件并 link url 到视图
urlpatterns = [
path('about/', views.about, name='about'),]
并且在模板中,您可以使用名称
调用 url如果您的应用程序中有不止一个视图和一个 url,并且您希望将所有视图都放在某个 url 前缀之后,您可以将该前缀放在 [=12] =]根。
所以假设您有 products
和 categories
视图,并且您希望它们位于 api
前缀之后。这意味着 /api/products/
和 /api/categories/
那么您将在 "api" 应用程序中拥有:
from django.urls import path
from . import views
urlpatterns = [
path('products', views.products, name='products'),
path('categories', views.categories, name='categories'),
]
在你的根 urls.py:
from django.contrib import admin
from django.urls import path, include
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', include('api.urls')),
] + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)