Django中的应用、模板、路由及其结构组成
什么是应用: 应用就是网站中一个独立的业务逻辑程序包
Django中的主目录只做配置不做业务,所有的业务都要放在应用中去实现
创建应用的方法:
第一步: 打开终端 进入 当前project目录下
第二步: 找到 manage.py 执行 python3 manage.py startapp 项目名称 成功创建项目
第三步: 去主目录下 settings.py文件中 的 INSTALLED_APPS 列表中 注册应用程序
应用结构的组成:
1、Migrations 数据库迁移文件 目前只做了解 知道就行 暂时接触不到
2、init.py 应用的初始化文件
3、admin.py 后台的管理配置文件
4、apps.py 关联应用的属性配置文件
5、models.py 模板文件,创建所有的实体类
6、tests.py 测试文件
7、views.py 视图文件,定义视图函数处理业务
分布式路由系统:
1、在每个应用中创建urls.py文件 格式和主路由一样
New pythonfile >>> urls.py
2、在主路由中 将具体的请求分发给应用的url做处理
- 找到主目录的urls文件
- 导入模块 from django.conf.urls import include
- 添加相关语句: Url(“正则表达式”,include(“xxx.urls”)) xxx转给的应用名
3、在应用的urls中找到自己的views去做具体的业务处理
注意 要先导入本应用中的views文件>>> form . import views
Urlpatterns = [
Url(r”^具体的路径/$”,views.对应的函数去处理)
]
Django中的模板
一、什么是模板?
模板就是html页面
好看 方便呈现
二、如何使用?
(1)在templates目录中创建模板文件 xxx.html
(2)
1、Django中的模板引擎是django自己提供的
2、模板的配置:在settins.py中的TEMPLATES变量
3、模板的加载方式:
第一种:
- 1、通过loader对象获取模板,通过HTTPResponse进行响应 from django.http import
HttpResponse - 2、导入loader方法:from django.template import laoder
- 3、t = loater.get_tamplate(“模板名称”)
- 4、将模板渲染成字符串 Html = t.render(传递给模板的参数)
- 5、将字符串响应给客户端 return HttpResponse(html)
def temp02_views(request):
name = “asd”
age = 100
salary = 500000
#第一步 获取模板
t = loader.get_template(“02-temp.html”)
#第二步 加载模板
html = t.render(locals())
# 第三步 响应
return HttpResponse(html)
第二种:
在视图函数中 直接写:Return render(request, “模板名称”) render函数就是对上面三步的一个封装
三、django模板的语法
1、变量
模板中的语法: {{变量}}
在模板中必须将变量放到字典中传递给模板
dict = {
“变量名1”:”值1”,
“变量名2”:”值2”,
… …
}
如何将视图函数中的变量全部显示到模板上呢?
例:
def func(request):
name = “主页”
Def fun():
Return “哈哈”
S = fun()
Return render(request,”模板名称”,locals()) # locals()的作用是将当前函数中所有的变量全部返回其中包括request
Admin后台系统
试用 django自带的后台管理系统
第一步 将django准备的数据库内容迁移到本地数据库
python3 manage.py migrate
第二步 创建超级用户
python3 manage.py createsuperuser
输入用户名 邮箱 密码 确认密码 ok
第三步 通过url 路由去访问 admin 后台管理系统
127.0.0.1:8000/admin/
登陆