Django基础学习
1 Django的安装
pip install django
c: \python
  -python. exe
  -Scripts
    -plp. exe
    -django- admin.exe【工具,创建 django项目中的文件和文件夹】
-Lib
    -内置模块
    -site-packages
    -openpyxl
    -python-docx
    -flask
    -django	【框架的源码】
2 创建项目
django中项目会有一些默认的文件和认的文件夹。
2.1 在终端
- 打开终端
- 进入某个目录,确定文件存放位置
E:\pythonstudy\Django
- 执行文件创建命令
"D:\Anaconda\Scripts\django-admin.exe" startproject 项目名称
若已经将Scripts加入环境变量,就可以直接
django-admin startproject 项目名称
2.2 在pycharm
 
特别说明:
- 命令行,创建的项目是标准的。
- pycharm,在标准的基础上默认给咱们加了点东西。
- 创建了一个 templates目录(删除)
- settings.py中加了一句话
 
默认项目文件介绍:
mysite
├── manage.py    					[项目的管理,启动项目,创建app,数据管理,不要动他]
└── mysite							
	├── __init__.py
	├── asgi.py						[接收网络请求,不要动他]
	├──	settings.py					[项目配置文件]  [常用]
	├── urls.py						[URL和函数的对应关系,常用文件]
	└── wsgi.py						[接收网络请求,不要动他]
3 创建APP
-项目
- app : 用户管理 [表结构、函数、HTML模板、css]
- app : 订单管理 [表结构、函数、HTML模板、css]
- app : 后台管理 [表结构、函数、HTML模板、css]
- app : 网站 [表结构、函数、HTML模板、css]
- ....
开发比较简洁,用不到多app,一般情况下创建一个即可
用manage创建App
 
views和models是最常用到的文件,其他的app里的文件基本不用动。
一般函数都定义在views里,而models一般是对数据库的操作。
4 快速上手
- 确保App已经注册
在INSTALLED_APPS里添加新字段,将App的名称加上去
 
- 编写URL视图和函数的关系【urls.py】
 
- 编写视图函数【views.py】
 
- 
启动Django项目 - 命令行启动
 python manage.py runserver- pycharm启动
 
 
 
 
4.1 再写一个页面
先在urls加上要新增的函数对应关系
然后在views里加上新增的函数
 
4.2 templates模板
 
4.3 静态文件
在开发过程中一般将img,css,js都称作静态文件
4.3.1 static目录
在app目录下创建static文件夹
 
4.3.2 引用静态文件
 
5 模板语法
本质上:在HTML中写一些占位符,由数据对这些占位符进行替换和处理。
 
6 请求和响应
 
案例:用户登录
如果出现了该错误
 
在html中加入  {% csrf_token %}  即可登录成功
 
 
 
7 数据库操作
- Django开发操作数据库更简单,内部提供了ORM框架,
 
7.1 安装第三方模块
pip install mysqlclient
7.2 ORM
ORM可以帮我们做两件事:
- 创建、修改和删除数据库中的表(不用写SQL语句)【但无法创建数据库】
- 操作表中的数据(不用写sql语句)
(1)创建数据库
(2)连接数据库
DATABASES={
    'default':{
        'ENGINE':'django.db.backends.mysql',
        'NAME':'djangostudy',
        'USER':'root',
        'PASSWORD':'123456',
        'HOST':'127.0.0.1',
        'PORT':3306,
    }
}
(3)django操作表
- 创建表
- 删除表
- 修改表
创建表:在models.py文件中:
 
create table app01_userinfo(
    id bigint auto_increment primary key,
    name varchar(32),
    password varchar(64),
    age int
)
执行命令:(在项目根目录执行)
python manage.py makemigrations
python manage.py migrate
然后就会在mysql生成对应的表
 
在表中新增列时,由于已存在列中可能已有数据,所以新增列必须要指定新增列对应的数据:
- 
手动输入一个值 
- 
设置默认值 age = models.IntegerField(default = 2 )
- 
允许为空 age = models.IntegerField(null = True , blank = True)
以后在开发中如果想要对表结构进行调整:
- 在models.py文件中操作类即可。
- 命令
python manage.py makemigrations
python manage.py migrate
(4)操作表中的数据
##### 1.新建 #####
Department,objects.create(title="销售部")
Department.objects.create(title="IT")
Department.objects.create(title="运营部")
UserInfo.objects.create(name="水滴鱼",password="123",age=19)
UserInfo,objects.create(name="菜花",password="666",age=29)
UserInfo,objects.create(name="南极星",password="666")
##### 2.删除 #####
UserInfo.objects.filter(id=3).delete()
Department.objects.all().delete()
##### 3.获取数据 #####
3.1  获取符合条件的所有数据
data_1ist = [对象,对象,对象]    QuerySet类型
data_list = UserInfo.objects.all()
for obj in data_list:
	print(obj.id,obj.name,obj.password,obj.age)
data_List = [对象,]
data_list = UserInfo.objects.filter(id=1)
print(data_list)
3.1  获取第一条数据【对象】
row_obj UserInfo.objects.filter(id=1).first()
print(row_obj.id,row_obj.name,row_obj.password,row_obj.age)
##### 4.更新数据 #####
UserInfo.objects.all().update(password=999)
UserInfo.objects.filter(id=2).update(age=999)
UserInfo.objects,filter(name="南极星"),update(age=999)
案例:用户管理
1.展示用户列表
- 
url 
- 
函数 - 获取所有用户信息
- HTML渲染
 
 
2.添加用户
- url
- 函数
- GET,看到页面,输入内容
- POST,提交——>写入数据库
 
 
3.删除用户
- url
- 函数
 

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号