1. 前端提交给后端数据的两种方式:
(1)Form表单提交
(2)Ajax提交
【备注:不管什么提交方式,服务器端处理都是一样的。参考https://blog.csdn.net/holly_08/article/details/117225210】
2. 前端提交给后端数据:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>添加博客</title>
</head>
<body>
<form action="/add_article" method="post">
{% csrf_token %}
title:<input name="title">
<br>
desc:<input name="desc">
<br>
tag:<input name="tag">
<br>
content:<input name="content">
<br>
category: <select name="category">
{% for i in categories %}
<option value="{{ i.id }}">{{ i.name }}</option>>
{% endfor %}
</select>
<br>
<button type="submit">提交 </button>
</form>
</body>
</html>
备注:
post重复提交csrf的问题:
解决1: 将settings中 MIDDLEWARE 中的csrf部分注释掉
解决2: 将{% csrf_token %} 放到 html提交表单部分