我正在使用django和mongodb建立一个网站。我对Django的观点有些怀疑。我是django的新手,直到现在我都知道可以在django中使用URL映射视图。但是我很困惑,如果我有一个像这样的mongodb文档:
{
"articles":{
"Mercedes":"path of this article",
"BMW":"path of this article",
"Jeep":"path of this article",
}
}
,我希望用户可以在地址栏中看到商品名称,例如:
mydomain.com/mercedes...
但是在django中,我们将视图映射到urls.py中,所以我需要为每篇文章编写一个函数(视图),并且需要像这样在urls.py中进行映射:
from django.contrib import admin
from django.urls import path
from my1app import views
from django.views.generic import TemplateView
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index, name='index'),
path('articles/mercedes',views.viewMercedesArticle, name='viewMercedesArticle')
]
还是只有一个视图,可以在用户的地址栏中显示多篇文章和文章名称的 url ?
答案 0 :(得分:2)
Django使用正则表达式进行网址匹配,您可以使用类似的网址
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.index, name='index'),
path('articles/(?P<article>\w+)/',views.viewMercedesArticle,
name='viewMercedesArticle')
]
,在您的视图中,您可以将文章名称命名为
def viewMercedesArticle(request, article):
pass # here article is dynamic
您可以参考此link以获得更多详细信息。