django搭建个人博客06,发布文章页
来源:互联网 发布:傲剑易经升级数据大全 编辑:程序博客网 时间:2024/05/02 01:47
安装markdown模块
进入虚拟环境
1.python3 -m pip install markdown
使用class FormView创建文章
1.从modle创建自定义的ModelForm
ModelForm
vim www/forms.py
import datetimeimport markdownfrom django.forms import ModelForm,Textareafrom .models import tb_articlesfrom django.utils.translation import ugettext_lazy as _class ArticlePublishForm(ModelForm): class Meta: model=tb_articles exclude=["articleID","content_html","created","updated"] labels={ 'title':_('文章标题'), 'content_md':_('文章内容'), 'tagID':_('文章分类'), } widgets={ 'abstract':Textarea(attrs={'cols':30,'rows':5}), } def save(self,username): cd=self.cleaned_data title=cd['title'] content_md=cd['content_md'] content_html=markdown.markdown(cd['content_md']) tag=cd['tagID'] abstract=cd['abstract'] created=datetime.datetime.now() updated=datetime.datetime.now() article=tb_articles(title=title,content_md=content_md,content_html=content_html,abstract=abstract, tagID=tag,created=created,updated=updated) article.save()
2.从FormView类创建自定义View并使用ArticlePulishForm作为form源
FormView
from .forms import ArticlePublishFormfrom django.views.generic.edit import FormViewclass ArticlePublishView(FormView): template_name='www/article_publish_base.html' form_class=ArticlePublishForm success_url='blogs/0/1' def form_valid(self,form): form.save(self.request.user.username) return super(ArticlePublishView,self).form_valid(form)
3.编辑article_publish_base.html,并引入markdown编辑器
Markdown Editor
<!-- article_publish_base.html -->{% extends "www/www_base.html" %}{% load static %}{% block selfstyle %}<title>add new</title><link rel="stylesheet" href="http://lab.lepture.com/editor/editor.css" /><script src="http://lab.lepture.com/editor/editor.js"></script><script src="http://lab.lepture.com/editor/marked.js"></script>{% endblock %}{% block content %}<div id="pub_article"><form action="" method="post">{% csrf_token %}{{ form.as_p}}<input type="submit" value="Send message"></form></div>{% endblock %}<!-- end article_publish_base.html -->
配置url查看结果
url(r'^article/publish/$',views.ArticlePublishView.as_view(),name="articlePublish"),
0 0
- django搭建个人博客06,发布文章页
- django搭建个人博客05,文章详细页1
- django搭建个人博客04,文章列表
- django搭建个人博客07,编辑文章
- Django搭建个人博客
- django搭建个人博客09,文章详细2-评论
- django搭建个人博客10,文章详细3-评论
- django搭建个人博客11,项目发布展示
- 如何发布新文章到hexo搭建的个人博客
- 如何发布新文章到hexo搭建的个人博客
- django 个人博客系统开发 - 文章归档
- Django框架搭建个人博客网站实例
- django 个人博客系统开发 - 项目搭建
- 使用 django-blog-zinnia 搭建个人博客
- django搭建个人博客03,编写首页
- django搭建个人博客遇到的常见问题
- Spring boot 搭建个人博客系统(四)——文章的发布和分页显示
- django 个人博客系统开发 - 最新文章获取和分页
- Dom4j读取xml,初始化数据字典
- 【SSH】问题不断,收获满满
- Solr介绍
- 使用c++实现并分析各种排序算法
- 执行了不等待结果? 异步操作MySQL:Tornado-MySQL
- django搭建个人博客06,发布文章页
- POJ 1044 Date bugs 笔记
- IIS发布ASP.NET应用常见错误及解决办法
- 一个真正的全栈工程师
- HDU6025 Coprime Sequence
- 什么是网关及网关作用
- LeetCode刷题(C++)——Divide Two Integers(Medium)
- 深入理解JVM-类加载
- 为什么JDK源码中,无限循环大多使用for(;;)而不是while(true)?