如何通过表单HTML获取post数据?

How to post data via form HTML?

我想post通过表单向服务器发送数据。我该怎么做?

<div class="panel-body">
    <form role="form" action="{% url 'login' %}" method="POST">
        {% csrf_token %}
        <div class="form-group">
            <label for="sender-email" class="control-label">Username:</label>
            <div class="input-icon"> <i class="icon-user fa"></i>
                <input id="sender-email" type="text" placeholder="Username" class="form-control email">
            </div>
        </div>
        <div class="form-group">
            <label for="user-pass" class="control-label">Password:</label>
            <div class="input-icon"> <i class="icon-lock fa"></i>
                <input type="password" class="form-control" placeholder="Password" id="user-pass">
            </div>
        </div>
        <div class="form-group">
            <input class="btn btn-primary btn-block" id="authenticate_user" type="submit" value="Submit">
        </div>
    </form>
</div>

我的views.py

@csrf_exempt
def signin(request):
    if request.method == 'POST':
        print request.POST.get('sender-email') #prints None
        username = request.POST['username'] # throws error, username not available.
        password = request.POST['password']

如何在不使用 jquery 的情况下 post 数据?我知道 post 通过 AJAX jquery 的方法,但不想那样做。

POST 数据是使用输入元素的 name 属性填充的。更改您的 id 属性或相应地添加 name 属性。例如:

<input type="password" class="form-control" placeholder="Password" name="user-pass">

您还应该考虑使用 form 来更轻松地处理您的数据。

输入标签的'name'属性设置为request.GETrequest.POST的键。

为所有输入标签添加名称属性。

<input name="username" id="sender-email" type="text" placeholder="Username" class="form-control email">

<input name="password" type="password" class="form-control" placeholder="Password" id="user-pass" >