现在我正在做什么:
页面应用> 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)
这似乎很好。我可以转到主页,并且大约可以访问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')),
path('about/', include('pages.urls')),
] + static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
基本上,在项目urls文件中,该行
'path('about/', include('pages.urls')),'
已添加,并保持页面url与上面相同。
所以我想知道在项目urls文件中链接about页面的正确方法是什么。
在页面应用中,您必须创建urls.py文件并将URL链接到视图
urlpatterns = [
path('about/', views.about, name='about'),]
并且在模板中,您可以使用其名称来调用该URL
[如果您在应用程序中具有多个视图和单个URL,并且您希望将所有视图都放在某个URL前缀之后,则将该前缀放在urls.py
根目录中。
所以可以说您有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)