过滤器是啥呢?
一项可以优化冗余代码及超方便的操作
修改前:
<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}]>
主要用于调试,而不动用数据内容
转载于:https://blog.51cto.com/rexchow/1934438