вопрос по Django, namespace
вот мои файлы: urls.py основной
from django.contrib import admin
from django.urls import path
from django.conf.urls import include, url
urlpatterns = [
path('admin/', admin.site.urls),
path('', include(('learning_logs.urls', 'learning_logs'), namespace='learning_logs')),
]
urls.py не основной
from django.conf.urls import url
from . import views
urlpatterns = [
#homepage
url(r'^$', views.index, name='index'),
]
base.html
<p>
<a href="{% url 'learning_logs:index' %}">Learning Log</a>
</p>
{% block content %}{% endblock content %}
index.html
{% extends "learning_logs/base.html" %}
{% block content %}
<p>Learning Log Helps you keep track of your learning, for any topic you're learning about.</p>
{% endblock content %}
в консоле выдает ошибку
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or pass a 2-tuple containing the list of patterns and app_name instead.
это началось после того как я добавил namespace='learning_logs' в основной urls.py
это я сделал потому что на моем сайте выдавало NoReverseMatch: 'learning_logs' is not a registered namespace и решение этой проблемы было добавление namesapce но это вызвало другую ошибку, помогите разобраться
Ответы (1 шт):
Автор решения: Lawliet
→ Ссылка
я исправил свой не основной urls.py, теперь он выглядит так
from django.conf.urls import url
from . import views
app_name = "learning_logs"
urlpatterns = [
#homepage
url(r'^$', views.index, name='index'),
]
вроде все работает, но я не знаю, костыль это или нет, не приведет ли это к другим ошибкам?