Cómo recuperar datos de un formulario en Django

Ischream:

Estoy trabajando en una aplicación de tiempo en que el cliente va a ingresar el nombre de la ciudad en una barra de búsqueda, y el nombre se utilizará para obtener los datos de tiempo de una API. Para obtener el nombre de la ciudad desde la forma, he creado esta condición a la vista:

if request.method == 'POST':
        city = request.data
        print(city)

sin embargo, cuando se imprime, se produce este error: 'WSGIRequest' object has no attribute 'data'

¿Qué estoy haciendo mal? ¿O hay una manera completamente diferente de hacer esto?

farhad:

Debe obtener los datos de la plantilla de la siguiente manera: (nombre de la función en views.py es algo misma que en url.py.

def something(request):
    if request.method == 'POST':
        city = request.POST.get('data')
        print(city)

datos es el nombre de su etiqueta de entrada en la plantilla:

<input name='data'>

Actualización: se necesita tener una acción para su formulario. que incluye una URL. esto URL conectarse a su función de vista de esta forma. También debe agregar el nombre de su etiqueta de entrada no su etiqueta de formulario.

modelo:

<form method="POST" action = "{% url "url_something" %}" >{% csrf_token %}
                    <div class="field has-addons">
                        <div class="control is-expanded">
                            <input class="input" type="text" placeholder="City Name" name="data" >
                        </div>
                        <div class="control">
                            <button class="button is-info" type="submit">
                                Search City
                            </button>
                        </div>
                    </div>
                </form>

en url.py debe tener una URL como esto .:

url(r'^something', views.something, name='url_something'),

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=392116&siteId=1
Recomendado
Clasificación