Python的Django框架中TEMPLATES项的设置教程

以下是关于“Python的Django框架中TEMPLATES项的设置教程”的完整攻略,内容包含两条示例说明:

1. 什么是 Django Templates?

Django Templates 是 Django 框架中的模板引擎,用于构建网站的用户界面。

2. 如何在 Django 中设置 TEMPLATES?

在 Django 中,TEMPLATES 变量通过设置 BASE_DIR 和 os 模块中的 join() 方法来定义。

# settings.py

# 设置模板目录
TEMPLATES_DIR = os.path.join(BASE_DIR, 'templates')

# 设置 Django 模板引擎
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [TEMPLATES_DIR],
        '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_DIR 存放模板的目录;
  • BACKEND 引擎设为 Django 自带的后端;
  • DIRS 设置一个可包含模板的目录列表;
  • APP_DIRS 则是告知 django 在每个应用目录下寻找模板文件(即该应用在 INSTALLED_APPS 中被添加或已经被调用)。

3. 示例1:如何编写 Django 模板?

通过以下代码来理解创建一个模板并插入数据:

<!-- hello.html -->

<!doctype html>

<html>
<head>
    <title>Hello World!</title>
</head>

<body>
    <h1>Hello, {{ name }}!</h1>

    <p>Welcome to my Django website.</p>
</body>
</html>

上述代码使用 {{ name }} 占位符来传递参数。在以下视图中展示该模板:

# views.py

from django.shortcuts import render

def hello(request):
    return render(request, 'hello.html', {'name': 'William'})
  • render() 函数将请求、模板名称和一个字典作为参数,该字典包含要传递到模板中的值。
  • 该视图将视图返回为响应对象,该响应对象包括渲染的模板、请求上下文和模板渲染上下文。

4. 示例2:如何扩展模板?

借助 extends 标签来扩展模板,如以下代码所示:

<!-- base.html -->

<!doctype html>

<html>
<head>
    <title>{% block title %}{% endblock %}</title>
</head>

<body>
    <h1>{% block content %}{% endblock %}</h1>

    <p>Welcome to my Django website.</p>
</body>
</html>

在此基础上,可以方便地扩展出想要的新模板:

<!-- child.html -->

{% extends "base.html" %}

{% block title %}
    About Me
{% endblock %}

{% block content %}
    <p>Hi, my name is William.</p>
{% endblock %}
  • base.html 扩展到新页面 child.html
  • 使用块来标记新页面中不同于基模板的部分。
  • 在新页面中,使用 extends 改变标题和内容。

希望这篇攻略对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python的Django框架中TEMPLATES项的设置教程 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • Django admin美化插件suit使用示例

    下面为您详细讲解“Django admin美化插件suit使用示例”的完整攻略。该攻略包含两条示例说明。 美化Django Admin的插件suits Django Admin是Django默认自带的后台管理系统,功能强大,但是界面不够美观。为了让Django Admin变得更加优美,我们可以使用插件suits进行美化。 安装suits 我们可以通过pip安…

    Django 2023年5月16日
    00
  • Django的ORM主外键约束实现

    创建两个数据表类,并实现主外键关联(出版社与图书 一对多关系) 1 #创建一个出版社类 2 class Press(models.Model): 3 id =models.AutoField(primary_key=True), #自增型主键 4 name=models.CharField(max_length=30,null=False,unique=Tr…

    Django 2023年4月13日
    00
  • django 环境变量配置过程详解

    下面是关于“django 环境变量配置过程详解”的完整攻略: 什么是 Django 环境变量? 在开发 Django 项目时,我们需要进行一些环境变量的配置,这些环境变量通常包括数据库连接信息、邮件发送信息等。这些信息通常不方便直接写在代码中,因此我们需要将它们存储在环境变量中,便于项目管理、维护以及部署。 Django 环境变量配置的方法 方法一:使用 P…

    Django 2023年5月16日
    00
  • 详解Python的Django框架中的templates设置

    下面我将为您详细讲解关于Python的Django框架中的templates设置的内部工作机制和模板组件参数的定义及实现。 1. Django框架中的templates设置 在Django框架中,template setting用于定义templates的相关参数。templates在Django框架中被用于呈现动态web页面,通常包含一些静态模板文件以及一…

    Django 2023年5月16日
    00
  • django2.0+linux服务器 ,如何让自己电脑访问

    这几天一直在搞这个服务器端口开放问题,来让自己电脑可以访问服务器下的django网页,今天终于弄好了~~~~~离成功又进了一步~~~~~ 1.首先,我们来开放一个linux服务器的端口(我开放了8282端口)  1 iptables -A INPUT -p tcp –dport 8282 -j ACCEPT 2 iptables -A OUTPUT -p …

    Django 2023年4月13日
    00
  • django 从零开始 13 返回文件

    进行一些操作返回文件,flask和django差不多,基本都是在返回response 并且对其中的返回头部写入返回文件信息   # image def image(request): f = open(r’C:\Users\Administrator\Desktop\反面.jpg’,’rb’).read() return HttpResponse(f,con…

    Django 2023年4月11日
    00
  • Django rest framework 自定义Exception

      使用Dango rest framework时,有时需要raise APIException到前端,为了统一错误返回格式,我们需要对exception的格式进行调整。 方法: 1. 在project/utils目录下新建exceptions.py 内容:   1 from rest_framework.views import exception_han…

    Django 2023年4月16日
    00
  • jQuery的ajax与django传参

    Django中的代码如下: urls.py代码: from django.conf.urls import url from django.contrib import admin import AjaxTest.views urlpatterns = [ url(r’^admin/’, admin.site.urls), url(r”^index/$”,A…

    Django 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部