/ / Django CMS + Django Komentarze = 404 - django, django-cms

Django CMS + Django Komentarze = 404 - django, django-cms

Jestem początkującym użytkownikiem Django 1.4.2. Grałem z tym kilka tygodni, ale utknąłem w tym samym punkcie: 404, jeśli przejdę do wstępnie ustawionego adresu URL ...

URLS.PY:

from django.conf.urls.defaults import *
from django.contrib import admin
from django.conf import settings

admin.autodiscover()

urlpatterns = patterns("",
(r"^admin/", include(admin.site.urls)),
url(r"^", include("cms.urls")),
(r"^comments/", include("django.contrib.comments.urls")),
)

if settings.DEBUG:
urlpatterns = patterns("",
url(r"^media/(?P<path>.*)$", "django.views.static.serve",
{"document_root": settings.MEDIA_ROOT, "show_indexes": True}),
url(r"", include("django.contrib.staticfiles.urls")),
) + urlpatterns    # Example:

Śledziłem CMS Django i kilka innychwtyczki tyle razy, ale ciągle pojawia się błąd 404, gdy chcę wyświetlić podgląd adresu URL. W tym przypadku pomyślnie zainstalowałem Komentarze Django, jestem w stanie utworzyć komentarze (w backend), ale jeśli chcę wyświetlić podgląd w interfejsie ... 404. Czy coś jest nie tak z moimi URLS.PY?

example.com/en/comments -> 404

Z góry dziękuję.

Odpowiedzi:

0 dla odpowiedzi № 1

Proste pytanie: widzisz en lub coś w stylu (?P<language>...) gdziekolwiek w twoim adresie URL conf? Dlaczego więc miałbyś oczekiwać, że dostaniesz za wszystko 404 /en/comments/?

Ponadto, w tym adresy URL Django CMS pod adresem ^$ (root) zasadniczo przekazuje całe przetwarzanie adresów URL do swoich urls.py, więc wszystko, co dodasz później do urls.py, jest ignorowane. Jeśli chcesz dołączyć coś innego, musisz odejść przed to w urls.py, a wtedy będzie dostępne pod podanym adresem urlpattern, w tym przypadku po prostu /comments/, nie /en/comments/.


0 dla odpowiedzi nr 2

Próbowałeś:

urlpatterns = patterns("",
(r"^admin/", include(admin.site.urls)),
(r"^comments/", include("django.contrib.comments.urls")),
url(r"^", include("cms.urls")),
)

?

„example.com/comments/” powinien działać. Jeśli pojawi się ten sam błąd, upewnij się, że plik „django.contrib.comments” został dodany do pliku INSTALLED_APPS w pliku settings.py. Możesz także uruchomić „manage.py syncdb”, aby utworzyć tabele związane z aplikacją „komentarze”.

Skąd pochodzi „en /”? Czy jest to zakodowany adres URL na stronie aplikacji, czy jest on wstawiany ręcznie przez Ciebie?