過濾器是啥呢?
一項可以優化冗餘代碼及超方便的操作
修改前:
<form action="{% url 'blog:edit_action' %}" method="post"> {% csrf_token %} {% 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>
修改後
我們把if else語句全刪除,就換了一個| default:'0',
這是說講默認ID設置爲0,這麼長的代碼,也就是要默認值爲0的意思而已。
<form action="{% url 'blog:edit_action' %}" method="post"> {% csrf_token %} <input type="hidden" name="article_id" value="{{ article.id | default:'0' }}"/> <label>文章標題 <input type="text" name="title" value="{{ article.title }}"/> </label> <br/> <label>文章內容 <input type="text" name="content" value="{{ article.content }}"/> </label> <br/> <input type="submit" value="提交"> </form>
上http://127.0.0.1:9999/blog/index/
Django Shell
D:\django\myblog>python manage.py shell #在cmd命令裏進入djangoshell Python 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 16:02:32) [MSC v.1900 64 bit (AM D64)] on win32 Type "help", "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> from blog.models import Article #導入models模塊下的Article數據庫 >>> Article.objects.all() #查詢所有數據,默認是標題,返回列表 <QuerySet [<Article: 小寶貝啊>, <Article: 我的第二篇文章>, <Article: test>, <Art icle: 123123>, <Article: 23@@@!!>, <Article: 123>, <Article: 123>, <Article: 1 2322~!!>, <Article: 12322~!!>, <Article: 12322~!!>, <Article: !!!!>, < Article: 輸入內容>, <Article: 12322~!!>, <Article: 12322~!!>, <Article: 1232 2~!!>, <Article: test>, <Article: django真裏哈>]> >>> Article.objects.all().values() #返回數據所有值,標題和內容,返回的是字典 <QuerySet [{'content': '我們的第一次就這樣沒了', 'title': '小寶貝啊', 'id': 1}, {'content': '又到此一遊', 'title': '我的第二篇文章', 'id': 2}, {'content': '`111 111', 'title': 'test', 'id': 3}, {'content': '123213', 'title': '123123', 'id': 4}, {'content': '123213', 'title': '23@@@!!', 'id': 5}, {'content': '567', 'ti tle': '123', 'id': 6}, {'content': '567', 'title': '123', 'id': 7}, {'content': '555', 'title': '12322~!!', 'id': 8}, {'content': '555', 'title': '12322~!!' , 'id': 9}, {'content': '555', 'title': '12322~!!', 'id': 10}, {'content': '! !!', 'title': '!!!!', 'id': 11}, {'content': 'aaaaa', 'title': '輸入內容', 'id': 12}, {'content': '555熱4', 'title': '12322~!!', 'id': 13}, {'content': '55512312312', 'title': '12322~!!', 'id': 14}, {'content': '555', 'title': '12 322~!!', 'id': 15}, {'content': '`11111231231211', 'title': 'test', 'id': 16}, {'content': '哈哈哈', 'title': 'django真裏哈', 'id': 17}]>
主要用於調試,而不動用數據內容