Моя проблема в том, что мой URL-адрес подходит mysite.com/test-news-1/ вместо mysite.com/news/test-news-1/
Я начал новый проект, используя cookiecutter-django. Затем я хотел добавить cms трясогузки в проект и следил за документацией, чтобы сделать это.
У меня нормально открывается страница администратора трясогузки, в /cms/ вместо /admin/, как написано на этой странице — http://docs.wagtail.io/en/v1.3.1/getting_started/integrating_into_django.html
Я добавил несколько приложений, чтобы попрактиковаться и привыкнуть к трясогузкам, одно из которых было скопировано из примера блога о трясогузках. Здесь начинается моя проблема.
Проводник администрирования трясогузки не отображает список моих приложений, как показано на сайте трясогузки https://wagtail.io/features/explorer/, а вместо этого просто говорит: «Добро пожаловать на ваш новый сайт о трясогузках!» Когда я выбираю «Добавить дочернюю страницу», это позволяет мне выбирать страницы приложений, которые я настроил, и, похоже, мои модели прекрасно работают. Но когда я что-то публикую и нажимаю «Перейти к живому сайту», он появляется как mysite.com/blog1/ вместо mysite.com/blog/blog1/
Я считаю, что моя проблема в том, что я не понимаю последнюю часть страницы документа, на которую я ссылался выше. Он говорит,
Обратите внимание, что есть одно небольшое отличие, когда не используется шаблон проекта Wagtail: Wagtail создает начальную домашнюю страницу базового типа Page, которая не включает никаких полей содержимого, кроме заголовка. Вы, вероятно, захотите заменить его своим собственным классом HomePage — когда вы это сделаете, убедитесь, что вы настроили запись сайта (в разделе «Настройки» / «Сайты» в админке «Трясогузка»), чтобы она указывала на новую домашнюю страницу.
Я попытался добавить модель домашней страницы со страницы документа, но это, похоже, совсем не помогло.
Я очень неопытен, это мой файл urls.py, если вам нужно увидеть другие файлы, дайте мне знать.
urls.py
from __future__ import unicode_literals
from django.conf import settings
from django.conf.urls import include, url
from django.conf.urls.static import static
from django.contrib import admin
from django.views.generic import TemplateView
from django.views import defaults as default_views
from wagtail.wagtailadmin import urls as wagtailadmin_urls
from wagtail.wagtaildocs import urls as wagtaildocs_urls
from wagtail.wagtailcore import urls as wagtail_urls
urlpatterns = [
url(r'^$', TemplateView.as_view(template_name='pages/home.html'), name="home"),
url(r'^about/$', TemplateView.as_view(template_name='pages/about.html'), name="about"),
# Django Admin, use {% url 'admin:index' %}
url(settings.ADMIN_URL, include(admin.site.urls)),
# User management
url(r'^users/', include("contestchampion.users.urls", namespace="users")),
url(r'^accounts/', include('allauth.urls')),
# Your stuff: custom urls includes go here
# Wagtail cms
url(r'^cms/', include(wagtailadmin_urls)),
url(r'^documents/', include(wagtaildocs_urls)),
url(r'', include(wagtail_urls)),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
if settings.DEBUG:
# This allows the error pages to be debugged during development, just visit
# these url in browser to see how these error pages look like.
urlpatterns += [
url(r'^400/$', default_views.bad_request, kwargs={'exception': Exception("Bad Request!")}),
url(r'^403/$', default_views.permission_denied, kwargs={'exception': Exception("Permission Denied")}),
url(r'^404/$', default_views.page_not_found, kwargs={'exception': Exception("Page not Found")}),
url(r'^500/$', default_views.server_error),
]