Я изучаю django, и я получаю ошибку при попытке ввести значение во входной текст и передать его как аргумент другой форме.Ошибка Ошибка проверки CSRF. Запрос отменен в Django
Запрещено (403) Не удалось выполнить проверку CSRF. Запрос прерван.
Причина, данная для отказа: Недопустимый токен CSRF.
Это мои сниппеты
forms.py
class ConfigForm(forms.ModelForm):
def __init__(self,*args, **kwargs):
id_provider = kwargs.pop('id_provider')
super(ConfigForm,self).__init__(*args, **kwargs)
self.fields['id_provider'].widget= forms.TextInput(attrs='id_provider:Id_provider'})
id_provider = forms.CharField()
class Meta:
model = Config
views.py
def configView(request):
a = request.session.get('a', None)
if request.method == 'POST':
form = ConfigForm(request.POST, instance=a)
if form.is_valid():
save_it = form.save(commit=False)
save_it.save()
else:
form = ConfigForm(instance = a)
return render_to_response("config.html",{'id_providor':id_provider},context_instance=RequestContext(request))
HTML-код, где я пытаюсь отправить значение аргумента:
<form method='post' action="/config/">
<input type="text" class="form-control" name="id_provider" id="id_provider" value="{{ id_providor }}"/>
<input class="btn btn-danger" type="submit" value="Config">
config.htm л (форма, в которой я посылаю значение)
{% extends 'base.html' %}
{% block content %}
<div class="container">
<div class="row">
<div class="col-md-4">
<form method='POST' action='' class='form'>
<div class="form-group">
{% csrf_token %}
{{ form.as_p }}
</div>
<button type='submit' class="btn btn-primary">Save</button>
</form>
</div>
</div>
</div>
{% endblock %}
Я не знаю, если ошибка, если в представлении или, как я пытаюсь отправить параметр. Помощь пожалуйста Спасибо заранее
UPDATE я решить эту проблему с @csrf_exempt флагом над ConfigView (views.py) Теперь у меня есть эта ошибка:
KeyError at /config/
'id_proveedor'
Request Method: POST
Request URL: http://192.168.0.219:8080/config/
Django Version: 1.6.5
Exception Type: KeyError
Exception Value:
'id_provider'
Exception Location: /home/pyc/DjangoProjects/monitor/prov/forms.py in __init__, line 19
Python Executable: /usr/local/bin/python
Python Version: 2.7.3
Python Path:
['/home/pyc/DjangoProjects/monitor',
'/usr/local/lib/python2.7/site-packages/simplejson-3.6.0-py2.7-linux-x86_64.egg',
'/usr/local/lib/python27.zip',
'/usr/local/lib/python2.7',
'/usr/local/lib/python2.7/plat-linux2',
'/usr/local/lib/python2.7/lib-tk',
'/usr/local/lib/python2.7/lib-old',
'/usr/local/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/site-packages']
я не делаю понять, что не так. Любые советы ??
Куда деется этот html-фрагмент? Это не часть шаблона config.html, не так ли? – Norman8054
Да в шаблоне config.html. Я поставил флаг @csrf_exempt в мои view.py и ошибка gon, теперь у меня есть новая ошибка: KeyError at/config/'id_provider' Исключение Место: \t/home/pyc/DjangoProjects/monitor/prov/forms. py в __init__, строка 19 – Joseleg