Django网络框架使用(三)
来源:互联网 发布:数据库 er设计 编辑:程序博客网 时间:2024/06/01 10:19
Django 模板
模板的概念:
模板是一个文本,用于分离文档的显示格式和内容。
类似于jsp,asp等对页面的操作
应用实例
在之前已经创建好的项目Web1中创建 Folder 目录
后建立 page1.html文件
page1.html 中代码如下:
<!DOCTYPE html><html lang="en" xmlns="http://www.w3.org/1999/xhtml"><head> <meta charset="utf-8" /> <title></title></head><body> <h2>{{first}}</h2></body></html>
注:变量使用了双括号。
写入模板文件的路径
修改settings.py(配置文件)
修改 TEMPLATES 中的 DIRS 为 [BASE_DIR+”/Folder”],
如下所示:
...TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [BASE_DIR+"/Web1/Folder"], # 修改模板位置 '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', ], }, },]
- 注意:一定要在BASE_DIR(项目地址)后面加’+’(连接地址字符串)要不会因为路径配置不对找不到文件
在VS中不能直接把文件夹添加最外面与项目(最外面那个Web1)同级
只好在Web1(配置文件)文件夹内添加Folder文件夹
实际开发都会在外部添加Django应用,自动生成许多文件
之后修改创建过的装载文档 view.py
增加一个新的对象,用于向模板提交数据:
代码:
from django.http import HttpResponsefrom django.shortcuts import renderdef hello(request): connect_text = {} #初始化context为dict(map) connect_text['first'] = 'Hello World!' #设置first变量的值为字符串 Hello World! return render(request, 'Page1.html', connect_text); #render()用来链接Page1.html文档中的变量使用和connect_text字典
render 底层也是 HttpResponse
render 接受了一个字典 connect_text 作为参数。
connect_text 字典中元素的键值 “first” 对应了模板中的变量 “{{ first }}”
此时的参数中的 Page1.html 将在BASE_DIR/Folder 构成的默认DIRS 查找
源码中可以看到:
此时传入的connect_text字典将会在’Page1.html’文档匹配到Key然后取Value,并用HttpResponse返回到Response头中
运行
再访问访问 http://127.0.0.1:8000/index,(命令行中启动python manage.py runserver 0.0.0.0:8000,可指定ip以及端口)可以看到页面:
此时已完成使用基本模板来输出数据,实现数据与视图分离
- 补齐一下一下些同学所关心的应用,项目的概念问题
项目中可以有多个应用,本身自带的且与项目名称同名的是网站基本配置文件,
除此之外,为个人独立创建的应用,可能是某一个功能的集合,也可能是某个特定的模块。。。
下一节是模板语法规则
- Django网络框架使用(三)
- Django网络框架使用(二)
- Django 网络框架使用(五)
- Django 网络框架使用(六)
- Django 网络框架使用(七)
- Django 网络框架使用(四)
- Django网站框架的使用(一)
- Django框架的使用
- django框架的使用
- Django框架使用
- web 框架 Django 学习记录 (三)一个实例
- PythonWeb开发Django框架(三)模板Templates初步
- python web框架Django学习(三)视图预url
- Volley网络框架学习笔记(三)
- 浅谈Volley网络框架(三)
- 网络:监听网络(使用Reachability框架)
- Android_访问网络三(android-async-http框架的简单使用)
- django框架使用postgresql数据库
- hihoCoder:1039字符串消除(当你找不到自己错在哪里了,可以来我这里看一看)
- 如何转载别人的博客
- Quartz学习(2)
- 并查集-HDU 5606
- 浅谈C++内联函数
- Django网络框架使用(三)
- python笔记
- suse 12 配置ssh服务
- Android 注解
- 【连载】Dijkstra求最短路径算法设计—Java实现
- iptables进阶
- JAVA设计模式——命令模式
- Django 连接多数据库 配置
- 第四题 给年月日求星期 以后不用cin,cout和string了,我爱c语言我爱scanf