Django目录
Django命令集工具
manage.py用于处理系统管理相关操作,只对当前的工程有效
python manage.py version
应用恢复到0001_initial 这个版本
创建Django项目
https://www.django.cn/course/show-54.html
https://www.django.cn/course/show-55.html
全局配置settings
https://www.django.cn/course/show-10.html
templates:模板文件目录
manage.py:命令行工具,可以使你用多种方式和Django项目进行交互
项目配置目录的文件:
- init #一个空文件,它告诉Python这个目录应该被看做一个Python包
- settings # 项目主配置文件
- url # URL文件(路由文件)
- wsgi # 遵循WSGI规范
- asgi.py #异步的WSGI网关
应用目录文件:
│ admin.py #对应应用后台管理配置文件。
│ apps.py #对应应用的配置文件。
│ models.py #数据模块,数据库设计就在此文件中设计。
│ tests.py #自动化测试模块,可在里面编写测试脚本自动化测试
│ views.py #视图文件,用来执行响应代码的。你在浏览器所见所得都是它处理的。
│ __init__.py
─migrations #数据迁移、移植文目录,记录数据库操作记录,内容自动生成。
│ __init__.py
ORM和MTV
1、ORM(Object Relationship Mapping)
对象关系映射(关系型数据库)
model类映射到关系型数据库中的一个表
model类的实例化对象映射到数据表中的一条记录
操作model类中的对象,就可以对应于表中的记录
2、MTV框架模式
模型(model):数据处理层。数据的存储、验证、数据之间的关系
模板(tempates):表现层。文档和页面的显示。
视图(views):业务逻辑层。存取模型以及调取合适模板的相关逻辑,是模板与模板最简单的桥梁
项目
1、模型类
(1)继承Model类(django.db.models.Model)
属性对应表字段
例子:创建Product模型类
class Product(models.Model):
proname = models.CharField(max_length=20)
price = models.FloatField()
(2)模型创建好后进行迁移
python manage.py makemigrations
python manage.py migrate
#默认是所有的APP的修改应用到数据库
python manage.py migrate
#将操作恢复到指定版本
python manage.py migrate [appname] [migrations_name]
例子:python manage.py migrate myblog 0001_initial #指定blog
2、views
(1)views——>templates
把context的内容, 加载进templates中定义的文件, 并通过浏览器渲染呈现
- request:浏览器向服务器发送的请求对象,包含用户信息、请求内容和请求方式等。
- template_name:设重模板文件名,用于生成网页内容。
- context:对模板上下文(模板变量)赋值,以字典格式表示,默认情况下是一个空字典。
from django.http import HttpResponse
from django.shortcuts import render
from .models import Product
# 视图
def index(request):
products = Product.objects.all()
return render(request, 'index.html', {'products': products})
def home(request):
return HttpResponse('这里是home')
(2)views——>urls
路径设置
3、templates模板设置
4、项目启动
优先去项目根目录的templates中寻找(需要提前配置,不配置无效),然后根据app的注册顺序,在每个app下的templates目录中寻找
python manage.py runserver