模板(Template)
{% load staticfiles %} 加载静态文件。
{% static 'path' %} 引用静态文件。
{{ article.body|slice:'100' }}取出了文章的正文,|slice:'100':表示前100个字符
{{ article.body|safe }}取出了文章的正文,|safe:表示这一段字符不需要进行转义
{% extends "base.html" %}继承base.html
{% include 'footer.html' %}加入footer.html的内容
{% url 'article:article_detail' article.id %}模板解耦语法,链接跳转,并发送一个文章id
yes: function(index, layero) {#点击删除文章链接时,弹出 layer 弹窗
$('form#safe_delete button').click();
layer.close(index);
}
is_authenticated是models.User类的属性,用于判断用户是否已通过身份验证。
def clean_[字段]这种写法Django会自动调用,来对单个字段的数据进行验证清洗。
表单中插入required属性:防止用户不输入密码就提交的方式
User.objects.all().delete():删除User数据库
models.CASCADE级联删除模式
%Y%m%d是日期格式化的写法,会最终格式化为系统时间。
{{ profile.avatar.url }}#找到图片路径,并显示图片
表单必须设置enctype="multipart/form-data"属性,才能够正确上传图片等文件
Paginator(article_list, 1)每页显示一张文章
{% if user == article.author %}是否是文章的作者
ArticlePost.objects.all().order_by('-total_views')根据浏览量对最热文章排序
<nav aria-label="breadcrumb">:面包屑导航样式
Paginator:分页
articles.previous_page_number:当前页的页数字
articles.next_page_number:下一页的页数字
articles.paginator.num_pages:最后一页的页数字
Model.objects.filter(**kwargs)可以返回与给定参数匹配的部分对象。
Model.objects.exclude(**kwargs)返回与给定参数不匹配的对象
如果想对多个参数进行查询怎么办?比如同时查询文章标题和正文内容。这时候就需要Q对象。
Q(title__icontains=search)意思是在模型的title字段查询,icontains是不区分大小写的包含,中间用两个下划线隔开。
更加复杂、深度定制的搜索可以借助第三方模块,如Haystack:https://github.com/django-haystack/django-haystack
get_object_or_404():它和Model.objects.get()的功能基本是相同的。区别是在生产环境下,如果用户请求一个不存在的对象时,会返回Error 404
redirect():返回到一个适当的url中:即用户发送评论后,重新定向到文章详情页面。当其参数是一个Model对象时,会自动调用这个Model对象的get_absolute_url()方法。因此接下来马上修改article的模型。
Comment.objects.filter(article=id):通过文章id,取出文章评论
显示评论中的comments.count是模板对象中内置的方法,对包含的元素进行计数
<pre>定义预格式化的文本,在我们的项目中最关键的作用是保留空格和换行符。该标签会改变文字的字体、大小等,因此用style属性重新定义相关内容。尝试将<pre>替换为div,输入多行文本试试效果。
Django注意语句
最新推荐文章于 2022-02-05 12:27:08 发布