Как правильно организовать urls.py для разных городов? Примеры запросов: /moskva/obuchenie/, /volgograd/obuchenie/, /obuchenie/. То есть один и теже view должны работать и при указани города в начала url и без его указания, также должны быть возможнсть брать эти горда из БД. Сделал что-то типа такого, но не работает:
pages = [
path('', views.index),
path('home/', views.index, name='home'),
path('obuchenie/', views.obuchenie, name='obuchenie'),
]
citys = City.objects.all()
city_urls = []
for city in citys:
if city.url:
city_urls.append(path(city.url + '/', include(pages)))
city_urls.append(pages)
pprint(city_urls)
urlpatterns = [
path('admin/', include([
path('', admin.index),
path('home/', admin.index, name='home'),
path('config/', include([
path("index/", login_required(admin.FilteredConfigListView.as_view()), name='config/index'),
path("edit/<int:id>/", admin.config, {'action': 'edit'}, name='config/edit'),
]), name='config'),
path('login/', admin.UserLoginView.as_view(), name='login'),
path('logout/', admin.UserLogoutView.as_view(), name='logout'),
])),
path('set-city/<str:city>', views.set_city, name='set-sity'),
path("ckeditor5/", include('django_ckeditor_5.urls'), name="ck_editor_5_upload_file"),
path("robots.txt",
TemplateView.as_view(template_name="robots.txt", content_type="text/plain"),
),
] + city_urls
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
Дает почему-то AttributeError: 'list' object has no attribute 'resolve'
Проще ли это организовать через
path("<str:city>/", include(pages))
?