Django 学习笔记(九)

  1. Django 模版的知识点:
  2. ①对于单独的变量
  3. 用safe过滤器为单独的变量关闭自动转意:
  4.  {{ data }}------{{ data|safe }}
  5.  This will be escaped: <b>
  6.  This will not be escaped: <b>
  7. autoescape 标签有两个参数on和off 有时,你可能想阻止一部分自动转意,对另一部分自动转意。 这是一个模板
  8. 的例子:
  9. Auto‐escaping is on by default. Hello {{ name }}
  10. {% autoescape off %}
  11. This will not be auto‐escaped: {{ data }}.
  12. Nor this: {{ other_data }}
  13. {% autoescape on %}
  14. Auto‐escaping applies again: {{ name }}
  15. {% endautoescape %}
  16. {% endautoescape %}
  17. 通常,模板作者没必要为自动转意担心. 基于Pyhton的开发者(编写VIEWS视图和自定义过滤器)只需要考虑哪些
  18. 数据不需要被转意,适时的标记数据,就可以让它们在模板中工作。
  19. 所有字符常量没有经过转义就被插入模板,就如同它们都经过了safe过滤。 这是由于字符常量完全由模板作者决
  20. 定,因此编写模板的时候他们会确保文本的正确性。
  21. 这意味着你必须这样写
  22. {{ data|default:"3 &lt; 2" }}


  23. {%load%}语句是通过指定的Python模块名而不是应用名来加载标签/过滤器的
  24. 如果你使用的是Python 2.4或者更新的版本,你可以使用装饰器register.filter():
  25. token.split_contents() 方法按空格拆分参数同时保证引号中的字符串不拆分




  26. jango/template/defaulttags.py
  27. 对于用`` ForeignKey`` 来定义的关系来说,在关系的另一端也能反向的追溯回来,只不过由于不对称性的关系
  28. 而稍有不同。 通过一个`` publisher`` 对象,直接获取 books ,用 publisher.book_set.all() ,如下:
  29. >>> p = Publisher.objects.get(name='Apress Publishing')
  30. >>> p.book_set.all()
  31. [<Book: The Django Book>, <Book: Dive Into Python>, ...]
  32. 实际上,book_set 只是一个 QuerySet,所以它可以像QuerySet一样,能实现数据过滤和分
  33. 切,例如:
  34. >>> p = Publisher.objects.get(name='Apress Publishing')
  35. >>> p.book_set.filter(name__icontains='django')
  36. [<Book: The Django Book>, <Book: Pro Django>]
  37. 属性名称book_set是由模型名称的小写(如book)加_set组成的。



  38. 当处理模型修改的时候,将Django的数据库层的工作流程铭记于心是很重要的。
  39. 如果模型包含一个未曾在数据库里建立的字段,Django会报出错信息。 当你第一次用Django的数据库
  40. API请求表中不存在的字段时会导致错误(就是说,它会在运行时出错,而不是编译时)。
  41. Django不关心数据库表中是否存在未在模型中定义的列。
学习Django时,使用PyCharm作为开发工具可以提高效率。PyCharm是一款功能强大的Python集成开发环境,它提供了丰富的功能和工具,可以帮助开发者更好地编写和调试Django应用程序。 在学习Django的过程中,可以使用PyCharm创建Django项目,并使用其内置的Django支持功能来简化开发过程。PyCharm可以自动识别Django项目的结构,并提供代码补全、语法检查、调试等功能,帮助开发者更快地编写和调试代码。 此外,PyCharm还提供了集成的版本控制系统,如Git,可以方便地管理和追踪代码的变化。它还支持自动化测试和部署,可以帮助开发者更好地进行项目管理和发布。 总之,使用PyCharm作为开发工具可以提高Django学习的效率和便利性。它的强大功能和友好的用户界面使得开发者可以更专注于代码的编写和项目的开发。\[1\] \[2\] \[3\] #### 引用[.reference_title] - *1* *3* [PyCharm平台下初学Django框架](https://blog.csdn.net/howard2005/article/details/93491364)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [pycharm平台下的Django教程](https://blog.csdn.net/Sunshine_ZCC/article/details/73918408)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值