过滤器是啥呢?

一项可以优化冗余代码及超方便的操作





wKiom1k-Da7SGQDYAAErHXNnlgg896.png



wKiom1k-DZKBhO-AAAF_7RXDbyU049.png








j_0071.gif来示范一下啦



修改前:

<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/

一切正常使用j_0044.gif









Django Shell

wKioL1k-OhWR3WrcAAE7WNem6n8996.png



wKiom1k-OoOCBpxxAAD_PqBm828759.png





wKiom1k-Opmy-gJ0AAEnSEquOL4511.png



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}]>


主要用于调试,而不动用数据内容