Я початківець користувач Django 1.4.2. Я грав з цим кілька тижнів, але я продовжую зациклюватися на тій же точці: 404, якщо я перейду за попередньо встановленою 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:
Я стежив за Django CMS та деякими іншимиплагіни стільки разів, але я продовжую отримувати помилку 404, коли я хочу переглянути попередній URL. У цьому випадку я успішно встановив коментарі Джанго, я можу створювати коментарі (в бекенде), але якщо я хочу переглянути їх у передній частині ... 404. Щось не так у моєму URLS.PY?
example.com/en/comments -> 404
Заздалегідь спасибі.
Відповіді:
0 для відповіді № 1Просте запитання: чи бачите ви en
або щось подібне (?P<language>...)
де-небудь у вашому URL-конфіденції? Тоді чому б ви очікували, що ви отримаєте що-небудь, крім 404 за /en/comments/
?
Крім того, включаючи адреси Django CMS на ^$
(root) по суті передає всю обробку URL-адрес у свою urls.py, тому все, що ви додасте до urls.py після цього, для всіх намірів і цілей ігнорується. Якщо ви хочете включити щось інше, це має піти раніше що в urls.py, і він буде доступний у вказаному вами urlpattern, у цьому випадку, просто /comments/
, ні /en/comments/
.
0 для відповіді № 2
Ви спробували:
urlpatterns = patterns("",
(r"^admin/", include(admin.site.urls)),
(r"^comments/", include("django.contrib.comments.urls")),
url(r"^", include("cms.urls")),
)
?
"example.com/comments/" має працювати. Якщо ви отримали ту саму помилку, переконайтеся, що у файлі settings.py додано "django.contrib.comments" до INSTALLED_APPS. Ви також можете запустити "Manag.py syncdb", щоб створити таблиці, пов’язані з додатком "коментарі".
Звідки походить "en /"? Це жорстко зашифрована URL-адреса на сторінці вашого додатка чи вставлена вона вручну?