#python #regex #django
#python #регулярное выражение #django
Вопрос:
Итак, у меня действительно странная проблема. Я сопоставил свой URL следующим образом :
url(r'^contact/
однако всякий раз, когда я захожу в /contact/, я получаю 404, я несколько раз проверял свой re и не могу понять, в чем здесь проблема..
Вот представление контактов, если это актуально :
def contact(request):
"""
"""
if request.method == "POST":
form = ContactForm(request.POST)
if form.is_valid():
cd = form.cleaned_data
send_mail("New contact form submission!", cd["message"],
"marijus.merkevicius@gmail.com", cd["email"])
return redirect('blog.views.index')
else:
form = ContactForm()
return render_to_response("contact.html", {"form" : form},
context_instance = RequestContext(request))
Комментарии:
1. Опубликуйте определение для
blog.views.contact
2. Не могли бы вы также опубликовать свои другие URL-адреса и сообщить нам, есть ли какие-нибудь декораторы для этой функции просмотра?
3. Представление debug 404 обычно дает вам некоторую дополнительную информацию о причине 404 - что это вам говорит?
Ответ №1:
Несколько возможностей:
1) Рассматриваемый файл URLs вообще не включается. Проверьте это, подтвердив, что другие URL-адреса в том же файле работают.
2) Другой более ранний шаблон сопоставляет ваш URL-адрес, а затем выдает 404 в представлении. Проверьте это, переместив этот шаблон в качестве первого шаблона в ваших корневых URL-адресах.
3) Что-то, по вашему мнению, выбрасывает 404. Это не выглядит вероятным, исходя из кода, который вы включили, но проверьте это, заменив представление чем-то простым, например direct_to_template
, 'blog.views.contact'),
однако всякий раз, когда я захожу в /contact/, я получаю 404, я несколько раз проверял свой re и не могу понять, в чем здесь проблема..
Вот представление контактов, если это актуально :
Комментарии:
1. Опубликуйте определение для
blog.views.contact
2. Не могли бы вы также опубликовать свои другие URL-адреса и сообщить нам, есть ли какие-нибудь декораторы для этой функции просмотра?
3. Представление debug 404 обычно дает вам некоторую дополнительную информацию о причине 404 — что это вам говорит?
Ответ №1:
Несколько возможностей:
1) Рассматриваемый файл URLs вообще не включается. Проверьте это, подтвердив, что другие URL-адреса в том же файле работают.
2) Другой более ранний шаблон сопоставляет ваш URL-адрес, а затем выдает 404 в представлении. Проверьте это, переместив этот шаблон в качестве первого шаблона в ваших корневых URL-адресах.
3) Что-то, по вашему мнению, выбрасывает 404. Это не выглядит вероятным, исходя из кода, который вы включили, но проверьте это, заменив представление чем-то простым, например direct_to_template