[英]Django 403 forbidden
Django 1.9.5當我按瀏覽器控制台上的按鈕時,顯示錯誤“ http://127.0.0.1:8000/encrypt [HTTP / 1.0 403 Forbidden4мс]”這是什么問題?
home.html
$(document).ready(function() {
$("#encrypt").click(function () {
var postData = {
text: $("#input-box").val(),
rotate: $("#rotate").val()
};
$.post('encrypt', postData);
return false;
});
});
</script>
<div class="container">
<legend>Caesar cipher</legend>
<div class="row">
<form name="ciepher" method="POST" action="">
{% csrf_token %}
<!--form code -->
<button class="btn" name="encrypt" id="encrypt"><span class="icon-arrow-right"></span></button>
</form>
urls.py:
urlpatterns = [
url(r'^$', views.home, name="home"),
url(r'^encrypt$', views.encrypt, name="encrypt")
]
views.py:
def home(request):
return render_to_response("home.html", context_instance = RequestContext(request))
def encrypt(request):
input_text = request.POST["text"]
rotate = request.POST["rotate"]
output_text = models.encode(input_text, rotate)
frequency = models.get_frequency(input_text)
return render_to_response("home.html", {'input_text': input_text, 'rotate': rotate, 'output_text': output_text, 'frequency': frequency}, context_instance = RequestContext(request))
謝謝
您沒有發送CSRF令牌。 您已將其保存在表單中,但是您是通過Ajax發布數據的,而不是通過常規表單提交的。 您需要在Ajax發布數據中包含令牌。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.