li标签的点怎么设置_「原创」Django第八章、模板引擎设置

20大进阶架构专题每日送达

082385062d0d877c2279c5d134bf81b5.png

第八章、模板引擎设置

回顾

要显示文章标题,就要把标题从数据库中先读取出来。我们在创建BlogArticles模型时,有一个专门的title字段存储文章标题,那么怎么读取到它呢?通过前面学习笔记,

  1. 一种是通过SQL语句进行查询 -- select语句

  2. 另一种就是通过Django自带的API进行读取,这个功能强大的API还可以创建、获取、修改和删除对象

显示文章标题

manage.py所在的目录创建一个名为 templates的新文件夹:

myblog/
| |-- blog
| |-- myblog/
| |-- templates/ | +-- venv/
| +-- db.sqlite3
| +-- manage.py

建立的目录如下图:

524b392bf33f89ca90393c7942bb39e4.png

创建home.html文件

然后在templates文件夹中,创建一个名为home.html的HTML文件:

templates/home.html

我的博客

我的博客


{% for blog in blogs %}
<li>{{ blog.title }} li>
{% endfor %}

home中,我们使用了原始HTML和一些特殊标签{% for ... in ... %}{{ variable }}。它们是Django模板语言的一部分。

Django模板语言都需要用到{}花括号,块标签{%block name %},用来包裹块内容,表示其间的内容可以自定义,name是块的名称。块结束标签{% endf-block%}

上面的例子展示了如何使用 for遍历列表对象,这一点类似Python的循环语句,{% for blog in blogs %}是循环的开始,{% endfor %}是本循环结束。

{{ blog.title }}双层花括号的方式表示此处显示变量引用的数据。blog是从blogs的QuerySet序列中得到的一个实例对象,blog.title是某个实例的title字段,我们通过这种方式获得一片博客的标题,最后生成动态HTML文档。

在使用这个HTML页面之前,我们必须告诉Django在哪里可以找到我们应用程序的模板(注:如果是利用Pycharm创建的Django项目,则会自动生成templates)。

打开myproject目录下面的settings.py文件,搜索TEMPLATES变量,并设置DIRS的值为os.path.join(BASE_DIR, 'templates')

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

创建home视图:

在我们完成对home模板创建完成后,接下来开始写home函数:

blog/views.py

from django.shortcuts import render
from .models import BlogArticles
# Create your views here.
def home(request):
blogs = BlogArticles.objects.all
return render(request, "home.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值