user1265125
user1265125

Reputation: 2656

Simple GET request returns empty

Here's my HTML code:

{% extends "base.html" %}

{% block content %}




<form class="form-horizontal" action="/application/" method="get">
    <div class="control-group">
        <label class="control-label" for="userid">User ID</label>
        <div class="controls">
            <input type="text" id="userid" placeholder="Email">
        </div>
    </div>
    <div class="control-group">
        <label class="control-label" for="pass">Password</label>
        <div class="controls">
            <input type="password" id="pass" placeholder="Password">
        </div>
    </div>
    <div class="control-group">
        <div class="controls">
              <input type="submit" class="btn" value="Sign in">
            <br>
            <a href="forgot">Forgot password?</a>
            <br>
            <a href="change">Change password?</a>
        </div>

    </div>

</form>






{% endblock %}

Here's my function in my view:

def application(request):
    print request.GET
    message=[]
    for key,value in request.GET:
        message.append("%s:%s"%key,value)
    return HttpResponse(message)

Here no matter what I input, my 'print request.GET' prints a <QueryDict: {}>.

I can't figure out how to debug this. Any clue?

Upvotes: 0

Views: 65

Answers (2)

dm03514
dm03514

Reputation: 55962

none of your inputs have name attributes,

name attributes are what are used to populate data for GET request.

<input type="password" id="pass" name="pass" placeholder="Password">

The above will show up with key name in request.GET

Upvotes: 2

Wolph
Wolph

Reputation: 80031

You're returning the last message, I suppose you want to render the template instead?

Try render_to_response instead.

Upvotes: 0

Related Questions