Я создаю веб-сайт с использованием django и mongodb. У меня есть некоторые сомнения относительно представлений django. Я новичок в django, и до сих пор понимал, что представления могут отображаться с URL-адресами в django. Но меня смущает, что если у меня есть такой документ 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 названия статьи в адресной строке пользователя?





Django использует регулярное выражение для сопоставления URL-адресов, вы можете использовать такие URL-адреса, как
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
вы можете обратиться к этому ссылка на сайт для получения более подробной информации.