python django模版渲染页面

本文介绍如何使用Eclipse插件进行Django模板编辑,并通过样式美化页面展示效果。此外,还介绍了如何调整模型查询结果的排序方式,实现最新文章优先显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用模版页面看起来特别朴素

接下来我们可以编辑一下同模版页面

在eclipse中可以django editor - http://eclipse.kacprzak.org/updates下载一个插件,适合编辑模版

创建模版固定名称base.html

测试内容:

<html>
<style type="text/css">
body{ color:#efd; background:#453; padding:0 5em; margin:0; }
h1{ padding:2em 1em; background:#675;}
p{margin:1em 0;}
</style>
<body>
<h1>my frist django com</h1>
{% block content%}
{% endblock %}
</body>
</html>

修改archive.html模版:

{% extends "base.html" %} #这里告诉django去查找一个base.html 的标签没并将模块里的所有内容全部添加到相应的块里去
{% block content %}
{% for post in posts %}
<h2>{{post.title}}</h2>
<p>{{post.timestamp|date:"l,F jS"}}</p>
<p>{{post.body}}</p>
{%endfor%}
{% endblock %}

接下来更改一下排序方式

在views里修改:

 posts = BlogPost.objects.order_by("-timestamp").all()

去掉timestamp前面-号变为按降序排列


过滤器格式化时间戳


<p>{{post.timestamp|date:"l,F jS"}}</p>

即可

### 创建或使用 Django 网站模板的方法 在 Django 中,模板用于定义网页的结构和布局。通过分离逻辑代码和 HTML 结构,开发者可以更高效地管理前端页面。 #### 模板文件的位置配置 为了使 Django 能够找到并加载模板文件,需要设置 `TEMPLATES` 配置项中的 `'DIRS'` 参数。通常情况下,在项目的 settings.py 文件中指定模板目录路径即可[^1]: ```python import os BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 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', ], }, }, ] ``` 上述代码片段设置了全局模板目录为项目根目录下的 `templates` 文件夹。 #### 使用模板引擎渲染视图 当处理 HTTP 请求时,可以通过调用 `render()` 函数来返回基于模板的内容给客户端。例如,假设有一个名为 `index.html` 的模板位于 `templates/` 下面,则可以在视图函数中这样写: ```python from django.shortcuts import render def home(request): context = {'message': 'Welcome to my Django site!'} return render(request, 'index.html', context) ``` 这里传递了一个字典作为上下文数据到模板里去填充动态部分。 #### 动态内容替换机制 Django 提供了一种简单的方式来嵌入变量以及控制流语句进入HTML文档之中。比如要显示前面提到的消息字符串,只需在相应的html位置加入如下标签: ```html <h1>{{ message }}</h1> ``` 这种双大括号语法告诉系统此处应该替换成实际传过来的数据值。 另外还有条件判断、循环等功能支持复杂场景的需求满足。 #### 关于已有应用实例的情况说明 如果有按照之前的教程构建过名称叫做blogsite的应用程序的话,那么可以直接在此基础上继续扩展功能或者调整现有样式等内容而不必重新开始整个流程[^2]。 对于服务器端部署方面涉及到apache等相关服务配置的时候需要注意正确设定wsgi daemon等参数以便顺利上线运营站点资源访问正常[^4]。 最后提醒一下如果打算深入学习该框架建议先确认安装好最新版本解释器环境因为这可能影响后续很多依赖库兼容性等问题解决效率提升不少哦[^3]!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值