对Django视图的怀疑

时间:2018-12-11 01:55:56

标签: django mongodb

我正在使用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

1 个答案:

答案 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以获得更多详细信息。