Django基础学习

发布时间:2022-06-25 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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:pythonstudyDjango
  • 执行文件创建命令
"D:AnacondaScriptsdjango-admin.exe" startproject 项目名称

若已经将Scripts加入环境变量,就可以直接

django-admin startproject 项目名称

 2.2 在pycharm

Django基础学习

特别说明:

  • 命令行,创建的项目是标准的。
  • 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

Django基础学习

views和models是最常用到的文件,其他的app里的文件基本不用动。

一般函数都定义在views里,而models一般是对数据库的操作。

4 快速上手

  • 确保App已经注册

在INSTALLED_APPS里添加新字段,将App的名称加上去

Django基础学习

- 编写URL视图和函数的关系【urls.py】

Django基础学习

  • 编写视图函数【views.py】

Django基础学习

  • 启动Django项目

    • 命令行启动
    python manage.py runserver
    
    • pycharm启动

Django基础学习

Django基础学习

Django基础学习

  4.1 再写一个页面

先在urls加上要新增的函数对应关系

然后在views里加上新增的函数

Django基础学习

  4.2 templates模板

Django基础学习

  4.3 静态文件

在开发过程中一般将img,css,js都称作静态文件

   4.3.1 static目录

在app目录下创建static文件夹

Django基础学习

   4.3.2 引用静态文件

Django基础学习

5 模板语法

本质上:在HTML中写一些占位符,由数据对这些占位符进行替换和处理。

Django基础学习

6 请求和响应

Django基础学习

案例:用户登录

如果出现了该错误

Django基础学习

在html中加入 {% csrf_token %} 即可登录成功

Django基础学习

Django基础学习

Django基础学习

7 数据库操作

  • Django开发操作数据库更简单,内部提供了ORM框架,

Django基础学习

  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文件中:

Django基础学习

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生成对应的表

Django基础学习

在表中新增列时,由于已存在列中可能已有数据,所以新增列必须要指定新增列对应的数据:

  1. 手动输入一个值

  2. 设置默认值

    age = models.IntegerField(default = 2 )
    
  3. 允许为空

    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渲染

Django基础学习

2.添加用户

  • url
  • 函数
    • GET,看到页面,输入内容
    • POST,提交——>写入数据库

Django基础学习

3.删除用户

  • url
  • 函数

Django基础学习

脚本宝典总结

以上是脚本宝典为你收集整理的Django基础学习全部内容,希望文章能够帮你解决Django基础学习所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:数据库