django学习笔记2
django学习笔记21.前端接收后端的数据2.django安装版本3.django执行语句3.settings文件配置说明
1.前端接收后端的数据
需求库:jinja2(需要通过pip install jinja2下载) 例题:将一个字典传递给html文件,并且可以在文件上方便才做字典数据 {{}}:模板语法,在前端页面能够直接操作后端传递过来的变量
import pymysql def get_user(url): #去数据库中获取数据,传递给htmL页面,借助模板语法发送给刘览器 conn = pymysq1.connect( host='127.0.0.1', port=3306, user='root', password='123456', db='day2', charset='utf8', autocommit:=True#自动提交 ) cursor=conn.cursor(cursor=pymysql.cursors.DictCursor) #DictCursor可以将元组转为字典 sql = 'select * from userinfo' cursor.execute(sql)#执行sql语句,操作数据库 data_list = cursor.fetchall()#[{},{},{}] with open(r'templates/get_user.html','r',encoding='utf-8') as f: data = f.read() tem = Template(data) res = tem.render(user_list=data_list) return bytes(res,encoding='utf-8') 这段代码是实现从 MySQL 数据库中读取数据,然后渲染模板来发送给客户端的。主要做了以下事情: 1.导入 pymysql 库,用来连接 MySQL 数据库 2.定义 get_user 函数,用于获取用户数据 3.连接 MySQL 数据库,指定主机,数据库名,编码等信息 4.使用 cursor =conn.cursor(cursor=pymysql.cursors.DictCursor) 获取 Cursor 对象,指定使用 DictCursor 可以获取字典格式结果集 5.定义 SQL 语句,查询 userinfo 表中的所有数据 6.执行 SQL 语句,获取结果集 data_list 7.读取 get_user.html 模板文件 8.使用 Template 把结果集 data_list 渲染到模板里 9.返回渲染后的模板 html 字符串 所以这段代码的功能是:从 MySQL 中读取用户数据,然后结合模板引擎来响应给客户端的。通过传入 URL 作为参数,可以实现不同页面读取不同的数据用模板呈现。
2.django安装版本
教学使用django:2.2.12版本 直接通过pip install django=2.2.12会自动帮你安装新的 终端输入django-admin验证是否安装成功
3.django执行语句
-
1.django基本操作
命令行操作 1.创建django项目 (先切换到对象的文件夹中)
django-admin startproject 项目名
PS F:\djangoproject\day2> django-admin startproject day2 PS F:\djangoproject\day2> cd day2 PS F:\djangoproject\day2\day2> python manage.py runserver
2.启动django项目 (要切换到manage.py同级目录下)
python manage.py runserver
3.创建应用
python manage.py startapp 应用名
-
2.pycharm基本操作
File>>new project>>Django>>选择项目地址 ,python解释器exe ,应用名称
1.pycharm会自动帮你创建一个templates文件夹,并在相应app文件夹的settings中配置目录。
2.pycharm会自动帮你在app文件中注册第一个app文件。
pycharm3.8.8版本bug,需要手动将settings文件夹中的base dir的“/”改为“,”。
3.settings文件配置说明
BASE DIR:项目根目录路径 DEBUG:用于配置django项目的启动模式.取值 True:表示开发环境中使用调式模式.False表示当前项目已经发布(不启动调式) ALLOWED_HOSTS:取值: []:空列表表示只有127.0.0.1,localhost能够访问本项目
[*]表示任何请求主机都能访问当前项目
["","",""]:表示只有列表中的主机能够访问
INSTALLED_APPS:注册的app MIDDLEWARE:中间件(后面讲) ROOT _URLCONF:用于配置根级url,项目文件夹同名的urls.py
TEMPLATES:html文件存放路径配置,更换为
'DIRS': [BASE_DIR , 'templates']
DATABASES:项目指定数据库 更换为
'ENGINE': 'django.db.backends.mysql', 'NAME': 'day2',