接下來,要把博客繼續完善
畫個畫兒先~~
~~~~~~
~~~~~~
主頁點擊修改文章----修改文章頁面
主頁點擊新文章----新文章頁面
新文章提交後----主頁
修改文章提交後----修改文章
~~~~~~
~~~~~~
敲代碼咯
編輯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'), ]
搞定囖~~