2017-02-21 3 views
0

Я хочу получить данные метода post в views.py. Я следую процедуре использования чистого html для формы не Django form class. Я попробовал решение MultiValueDictKeyError in Django, но все же он не работает. Помоги мнеДанные формы доступа почтового метода в Django

index.html

<form action="{% url "Sample:print" %}" method="post"> 
    {% csrf_token %} 
    <input type="text" placeholder="enter anything" id="TB_sample"/><br> 
    <input type="submit" value="submit"> 
</form> 

views.py

def print(request): 
    value=request.POST['TB_sample'] 
    # value = request.REQUEST.get(request,'TB_sample') 
    # value = request.POST.get('TB_sample','') 
    print(value) 
    return render(request , 'static/Sample/print.html',{"data":"I want to pass here 'Value'"}) 

Я перепробовал все типы комментировали. все же я получаю много ошибок. Ни одно из этих решений не работает.

ответ

2

Переименуйте имя печати вашей функции (вы назвали def print). Никогда не называйте функцию встроенных функций python.

Во-первых, вы должны указать имя поля ввода, чтобы получить параметр сообщения. Мол,

<input type="text" placeholder="enter anything" name="TB_sample" id="TB_sample"/> 

Затем вы набрали

value=request.POST['TB_sample']

в Джанго function.Which бросает MultiValueDictKeyError если нет параметра имени TB_sample.Always написать,

value=request.POST.get('TB_sample')

, который выводит None вместо th ошибки гребли.

+0

Когда я использую value = request.POST.get ('TB_sample'), он поднимает ** объект 'str' не имеет атрибута 'POST' ** – deepak

+0

для значения = request.POST ['TB_sample'] он поднимает ** MultiValueDictKeyError ** после того, как я попробовал решение ур – deepak

+0

Человек! вы даете свое имя функции печати! Переименуйте эту функцию печати в другое. Также см. Отредактированный ответ. – Aniket

Смежные вопросы