1.文章添加頁url開設 2.添加文章頁面已經富文本編輯器的使用 富文本編輯器kindeditor只要到官網下載下來,放入static文件夾就行,如何在html的script處添加對應固定代碼 {% extends 'backend/base.html' %} {% block article %} ...
1.文章添加頁url開設
2.添加文章頁面已經富文本編輯器的使用
富文本編輯器kindeditor只要到官網下載下來,放入static文件夾就行,如何在html的script處添加對應固定代碼
{% extends 'backend/base.html' %}
{% block article %}
<h3>添加隨筆</h3>
<form action="" method="post">
<p>標題</p>
<div>
<input type="text" class="form-control" name="title">
</div>
<p>內容</p>
<div>
<textarea name="content" id="editor_id" cols="30" rows="10"></textarea>
</div>
<p>分類</p>
<div>
{% for category in category_list %}
<input type="radio" value="{{ category.pk }}" name="category">{{ category.name }}
{% endfor %}
</div>
<p>標簽</p>
<div>
{% for tag in tag_list %}
<input type="checkbox" value="{{ tag.pk }}" name="tag">{{ tag.name }}
{% endfor %}
</div>
<br>
<input type="submit" class="btn-danger btn">
</form>
{% endblock %}
{% block js %}
<script charset="utf-8" src="/static/kindeditor-4.1.11-zh-CN/kindeditor/kindeditor-all-min.js"></script>
<script>
KindEditor.ready(function (K) {
window.editor = K.create('#editor_id',
{
width: '100%',
height:'600px',
resizeType:1,
});
});
</script>
{% endblock %}
3.後端需要傳入到前端的數據
4.添加文章向後端發送請求
@login_required
def add_article(request):
category_list = models.Category.objects.filter(blog=request.user.blog)
tag_list = models.Tag.objects.filter(blog=request.user.blog)
if request.method == 'POST':
title = request.POST.get('title')
content = request.POST.get('content')
category_id = request.POST.get('category')
tag_id = request.POST.getlist('tag')
# 文章簡介的獲取
desc = content[0:150]
article_obj = models.Article.objects.create(title=title,desc=desc,content=content,category_id=category_id,blog=request.user.blog)
# 下一步添加文章和文章標簽表,這個關係表是我們自己創建的無法使用add等方法
# 解決方法自己操作關係表,因為是多對多關係,可能需要創建多條數據 採用了批量插入數據的方法
article_obj_list = []
for i in tag_id:
article_obj_list.append(models.Article2Tag(article=article_obj,tag_id=i))
models.Article2Tag.objects.bulk_create(article_obj_list)
return HttpResponseRedirect('/backend/')
return render(request,'backend/add_article.html',locals())