Django-模板Templates

本文详细介绍了Django框架的搭建过程,包括创建项目、配置settings.py、应用创建与配置、URL路由系统。重点讲解了Django中的模板Templates,包括模板的配置、加载方式、语法(变量、标签、过滤器)、静态文件处理和模板继承。同时,提供了使用模板实现页面的练习,如首页、登录页和购物车页的构建。
摘要由CSDN通过智能技术生成

搭建Django框架

  • django-admin startproject 项目名

    • 目录结构:
      1. manage.py
        包含若干子命令:
        runserver
        startapp
      2. 主文件夹 - 与项目同名
        1. init.py
        2. wsgi.py
        3. urls.py
          主路由配置文件
        4. settings.py
          主配置文件
          1.BASE_DIR
          2.DEBUG
          3.ALLOWED_HOSTS
          4.INSTALLED_APPS
          5.TEMPLATES
          6.DATABASES
          7.LANGUAGE_CODE
          8.TIME_ZONE
          9.MIDDLEWARE
  1. 路由系统
    1. urls.py
      包含基本的请求地址和处理函数的映射

    2. url()
      url(regex,views,kwargs=None,name=None)

      1. 无参的路由
        url(r’^01-test/$’,views.test)

      2. 带参的路由
        url(r’^02-test/(\d+)/$’,views.test2)

        def test2(request,num):
        #num表示的是地址中的\d+的参数值,类型为字符串
        pass

  2. 应用 - app
    app是一个独立的业务模块
    1. 创建 & 配置 应用
      python3 manage.py startapp 应用名称
      在settings.py中进行注册
      INSTALLED_APPS = [
      … …
      ‘创建的应用名’
      ]
    2. 应用的结构
      1.migrations 文件夹
      2.init.py
      3.admin.py
      4.apps.py
      5.models.py
      6.tests.py
      7.views.py
    3. 分布式路由系统
      请求先交给主路由配置文件,主路由配置分析请求意图做请求的分发
      主路由配置文件 urls.py
		urlpatterns = [
			url(r'^music/',include("music.urls")),
			url(r'^sport/',include("sport.urls")),
			url(r'^',include("index.urls")),
		]

		music.urls
		urlpatterns = [
			#http://localhost:8000/music/
			url(r'^$',views.index)
		]

================================================

  1. Django中的模板 - Templates
    1. Django中的模板
      Django中的模板是由Django自己提供的,而非Jinja2
      所以Django中的模板语法与Flask中的模板语法会稍有不同

    2. 模板的配置
      settings.py 中有一个 TEMPLATES 变量

      1. BACKEND : 指定模板的引擎
      2. DIRS : 指定保存模板的目录
      3. APP_DIRS : 是否要在应用中搜索模板本
      4. OPTIONS : 有关模板的选项
    3. 模板的加载方式

      1. 通过 loader 获取模板,通过HttpResponse进行响应

        from django.template import loader
        #1.通过loader加载模板
        t = loader.get_template(“模板名称”)
        #2.将t转换成字符串
        html = t.render()
        #3.响应
        return HttpResponse(html)

      2. 使用 render() 直接加载并响应模板

        from django.shortcuts import render
        return render(request,‘模板的名称’)

    4. 模板的语法

      1. 变量

        1. 变量的语法
          1. 后端中必须将变量封装到字典中才允许传递到模板上

            dic = {
            “变量1”:“值1”,
            “变量2”:“值2”,
            }

            1. 使用 loader 加载模板

              t = loader.get_template(‘xxx.html’)
              html = t.render(dic)
              return HttpResponse(html)

            2. 使用render加载模板
              return render(request,‘xx.html’,dic)

          2. 在模板中使用变量
            {{变量名}}

      2. 标签

        1. 作用
          将一些服务器端的功能嵌入到模板中
        2. 标签语法

          {% 标签 %}
          {% 结束标签 %}
          ex:
          {% if 条件 %}
          {% endif %}
          1.if 标签
          … …
          2.for 标签
          1.语法
          {% for 变量 in 可迭代对象 %}
          {% endfor %}
          2.内置变量 - forloop
          1.forloop.counter
          得到当前循环遍历的次数,从1开始
          2.forloop.counter0
          得到当前循环遍历的下标,从0开始
          3.forloop.first
          4.forloop.last

      3. 过滤器

        1. 作用
          在变量输出前对变量的值进行筛选
        2. 语法
          {{变量|过滤器:参数值}}
        3. 有用的过滤器
          1.default
          2.default_if_none
          3.floatformat
          4.truncatechars
          5.truncatewords
      4. 静态文件

        1. 什么是静态文件
          不能与服务器端做动态交互的文件都是静态文件
          如:图片,css,js,音频,视频,html文件(部分)
        2. 静态文件配置
          settings.py 中配置一下两项内容:
          1. 配置静态文件的访问路径
            通过哪个url地址找静态文件
            STATIC_URL = ‘/static/’
            • 说明:
              指定访问静态文件时是需要通过 /static/xxx或 localhost:8000/static/xxx
              xxx 表示具体的静态资源位置
          2. 配置静态文件的存储路径
            静态文件在服务器端的保存位置
            STATICFILES_DIRS=(os.path.join(BASE_DIR,‘static’),)
        3. 访问静态文件
          1. 使用静态文件的访问路径进行访问
            访问路径: STATIC_URL=/static/
            ex:
            </img src="/static/images/a.jpg">
            </img src=“http://127.0.0.1:8000/static/images/a.jpg”>

          2. 通过 {% static %}标签访问静态文件
            {% static %}表示的就是静态文件访问路径

            1. 加载 static
              {% load static %}
            2. 使用静态资源时
              语法:{% static ‘静态资源路径’ %}
              </img src="{% static ‘images/a.jpg’ %}">
          • 练习:
            将之前课程阶段中的果园首页,登录页,购物车页
            构建成模板,放到FruitDay项目中
            1. localhost:8000 : 显示首页效果
            2. localhost:8000/login : 显示登录页
            3. localhost:8000/cart : 显示购物车页
              处理好所有的静态文件
      5. 模板的继承

        1. 在父模板中
          要标识出哪些在子模板中是允许被修改的
          {% block 块名 %}
          {% endblock %}
          • block 作用:
            1. 在父模板中正常显示
            2. 在子模板中
              不重写,将按照父模板的效果显示
              重写,则按照重写效果显示
        2. 在子模板中
          1. 指定要继承自哪个父模板
            {% extends ‘父模板名称’ %}
          2. 重写父模板中的内容
            {% block 块名 %}
            {% endblock %}
        3. 注意
          模板继承时,服务器端的动态内容无法继承
      6. url()的name参数

        1. url语法
          url(regex,views,kwargs=None,name=“别名”)
          ex:
          url(r’^user_login/$’,views.login,name=“login”)
        2. 通过别名实现地址的反向解析
          在模板中: {% url %}
          {% url ‘别名’ %}
          {% url ‘别名’ ‘参数值1’ ‘参数值2’ %}
要搭建一个django-vue-admin项目,你可以按照以下步骤进行操作: 1. 首先,创建一个Django项目,并安装所需的依赖。在设置文件中,确保你的TEMPLATES配置中包含了以下内容:'BACKEND': 'django.template.backends.django.DjangoTemplates'。 2. 接下来,配置Django模板上下文处理器。在设置文件中,确保你的TEMPLATES配置中包含了以下内容:'django.contrib.auth.context_processors.auth'和'django.template.context_processors.request'。 3. 然后,安装django-vue-admin库。你可以使用pip安装它:pip install django-vue-admin。 4. 在你的Django项目中创建一个新的应用程序。你可以使用以下命令创建一个名为"admin"的应用程序:python manage.py startapp admin。 5. 在你的项目设置文件中注册新创建的应用程序。将'app名'admin'添加到你的INSTALLED_APPS配置中。 6. 在admin应用程序的目录中创建一个名为"templates"的文件夹,并在其中创建一个名为"admin"的子文件夹。 7. 在"admin"文件夹中创建一个名为"base.html"的模板文件,该文件将作为你的项目的基础模板。 8. 在"base.html"模板文件中,使用Vue.js编写前端代码,以实现你希望在项目中看到的功能和样式。 9. 在你的admin应用程序的视图中,定义需要的后端逻辑和模型操作。 10. 最后,运行你的Django服务器并访问项目的URL,以查看django-vue-admin项目的效果。 请按照以上步骤进行操作,你就可以成功地搭建一个django-vue-admin项目了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Django+Vue环境搭建](https://blog.csdn.net/WeirdoGiraffe/article/details/124863602)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值