Ни одна запись не соответствует запросу django

#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