#python-3.x #django
Вопрос:
Я довольно новичок в Django, и у меня возник вопрос о том, как управлять несколькими приложениями django. У меня есть приложение, которое имеет дело с учетными записями пользователей, которое показывает страницу профиля и панель мониторинга пользователя. Однако у меня есть другое приложение под названием блоги, в котором я хочу показывать блоги, написанные этим пользователем.
В основном я хочу, чтобы на панели навигации была отдельная вкладка с надписью «блоги», и когда вы нажимаете на блоги, она должна перейти по URL-адресу «localhost:8000/пользователи/блоги», а не просто localhost:8000/блоги. Как я могу объединить два приложения таким образом?
Ответ №1:
в вашем «корне» urls.py
:
from django.urls import path, include
urlpatterns = [
...
path('users/', include(('usersapp.urls', 'usersapp'), namespace='usersapp')),
...
]
В приложении для пользователей urls.py
:
from django.urls import path, include
urlpatterns = [
...
path('blogs/', include(('blogsapp.urls', 'blogsapp'), namespace='blogsapp')),
...
]
И теперь в ваших шаблонах вам нужно сделать:
{% url '<namespace>:<urlname>' %}
например:
{% url 'blogsapp:index' %}
Комментарии:
1. Спасибо вам за ответ, Эне! Итак, я уже сделал это, но как мне это сделать, чтобы, когда я нажимаю на блоги на своей панели навигации, это переходило в /пользователь/блоги?
2. прямо сейчас это ни к чему не приведет:
<li class="nav-item active"> <a class="nav-link" href="#">View Blogs</a> </li>
3. Отредактированный………..
4. сработало как заклинание! Большое вам спасибо!!