python 3.5 django 笔记(六)修改博客标题与内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 3.5 django 笔记(六)修改博客标题与内容相关的知识,希望对你有一定的参考价值。
接下来,要把博客继续完善
画个画儿先~~
~~~~~~
~~~~~~
主页点击修改文章----修改文章页面
主页点击新文章----新文章页面
新文章提交后----主页
修改文章提交后----修改文章
~~~~~~
~~~~~~
敲代码咯
编辑edit_page.html页面
<body> <form action="{% url ‘blog:edit_action‘ %}" method="post"> {% csrf_token %} <!--添加if语句,判断断码如果文章ID号不为0则执行--> {% if article %} <input type="hidden" name="article_id" value="{{ article.id }}"/> <label>文章标题 <input type="text" name="title" value="{{ article.title }}"/> <!--在编辑栏羡慕文章内容--> </label> <br/> <label>文章内容 <input type="text" name="content" value="{{ article.content }}"/> <!--在编辑栏羡慕文章内容--> </label> <br/> {% else %} <input type="hidden" name="article_id" value="0"/> <label>文章标题 <input type="text" name="title" /> </label> <br/> <label>文章内容 <input type="text" name="content" /> </label> <br/> {% endif %} <input type="submit" value="提交"> </form> </body>
页面修改后,就去views.py操作执行动作
这次需要修改两次,信息量比较大咯
def edit_page(request, article_id): #添加个id参数 if str(article_id) == ‘0‘: #判断字符型id是不是等于0,是的话,则返回编辑页面 return render(request, ‘blog/edit_page.html‘) article = models.Article.objects.get(pk=article_id) return render(request, ‘blog/edit_page.html‘, {‘article‘: article}) #不为0则显示内容 def edit_action(request): title = request.POST.get(‘title‘, ‘TITLE‘) content = request.POST.get(‘content‘,‘CONTENT‘) article_id =request.POST.get(‘article_id‘, ‘0‘) #这次添加了if语句 if article_id == ‘0‘: #ID为0 ,则返回主页 models.Article.objects.create(title=title, content=content) articles = models.Article.objects.all() return render(request,‘blog/index.html‘,{‘articles‘:articles}) article = models.Article.objects.get(pk=article_id) article.title = title article.content = content article.save() return render(request, ‘blog/article_page.html‘, {‘article‘: article}) #不是的话,就执行更新操作
最后,修改blog下的urls.py
from django.conf.urls import url from . import views urlpatterns = [ url(r‘^index/$‘, views.index), url(r‘^article/(?P<article_id>[0-9]+)$‘, views.article_page, name="article_page"), url(r‘^edit/(?P<article_id>[0-9]+)$‘, views.edit_page, name=‘edit_page‘), #把编辑的页面也添加上id号识别 url(r‘^edit/action$‘, views.edit_action, name=‘edit_action‘), ]
搞定囖~~
以上是关于python 3.5 django 笔记(六)修改博客标题与内容的主要内容,如果未能解决你的问题,请参考以下文章
python 3.5 django 笔记(二)Tmeplates与models