我想通过表单将数据发布到服务器。我怎么能这样做?
<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的情况下发布数据?我知道通过AJAX jquery发布的方式,但不想这样做。
答案 0 :(得分:2)
输入标记的'name'
属性设置为request.GET
和request.POST
的键。
为所有输入标记添加name属性。
<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" >
答案 1 :(得分:0)
使用输入元素的name
属性填充POST数据。更改您的id
属性或相应添加name
个属性。 E.g:
<input type="password" class="form-control" placeholder="Password" name="user-pass">
您还应该考虑使用form来更轻松地处理数据。