Прошло два дня, прогуливаясь через Google, stackoverflow и docs.djangoproject.com для решения проблем CSRF.Недопустимый токен CSRF или неправильный (я знаю, его спрашивали раньше!)
Отказ от ответственности, я новичок в Django и следую за книгой Окончательное руководство по django - веб-разработка выполнена правильно. Ну, видимо, я получаю что-то неправильно :-(
Ниже одной такой попытки и посмотреть, если вы можете указать на ошибки, потому что я перепробовал все предложения по StackOverflow, но не повезло еще:
view.py:
from django.shortcuts import render_to_response
from django.template import RequestContext
def add_vehicle(request):
return render_to_response('vehicle.html', RequestContext(request, {}))
vehicle.html:
{% extends "base.html" %}
{% block title %}Vehicle Registration{% endblock %}
{% block content %}
<html>
<head>
</head>
<body>
<form action="/vehicle/" method="post"> {% csrf_token %}
<table width=100%>
<tr>
<td>Reg #:</td>
<td><input type="text" name="regnumber"></td>
<td></td>
</tr>
<tr>
<td>Model:</td>
<td><input type="text" name="model"></td>
<td></td>
</tr>
<tr>
<td>Manufacturer:</td>
<td><input type="text" name="manufacturer"></td>
<td></td>
</tr>
<tr>
<td>Year:</td>
<td><input type="text" name="year"></td>
<td></td>
</tr>
<tr>
<td>Chassis #:</td>
<td><input type="text" name="chasisnumber"></td>
<td></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="Submit">
<input type="submit" value="Clear">
</td>
<td></td>
</tr>
</table>
</form>
</body>
</html>
{% endblock %}
Надеюсь, это не слишком много кода для stackoverflow.
Теперь я продолжаю получать CSRF токен отсутствует или неправильно.
Пожалуйста, помогите.
Edit (Добавление сведений об ошибке)
settings.py выглядит следующим образом:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
Вот что консоль отображается при открытии vehicle.html страницы:
warnings.warn("A {% csrf_token %} was used in a template, but the context did not provide the value. This is usually caused by not using RequestContext.")
-1: «Я знаю, его спросили раньше!» Но вы отказались его искать или ссылаться? Это грубо. –
Извините, что я выгляжу грубо. Но я просмотрел все заданные вопросы и все предоставленные ответы и почувствовал, что добавление другого вопроса на то же самое было неправильным, но у меня не было альтернативы. На самом деле цель заключалась в том, чтобы рассказать, что я понимаю, что вопрос повторяется, но без ответа на мой конкретный случай. Мой плохой – lukik
У вас есть несколько сайтов Django, работающих в mod_wsgi под Apache? –