Django之form表单操作
小白必会三板斧
from django.shortcuts import render,HttpResponse,redirect
HttpRespone:返回字符串
render:返回html页面
redirect:重定向
静态文件配置
静态文件:网站所用到的,自己写好js,自己写好css,第三方的框架bootstrap fontwesome sweetalert
通常情况下网站所用到的静态文件资源统一都放在static文件下
STATIC_URL=‘/static‘ 是访问静态资源的接口前缀
只要你想要访问静态资源你就必须以static开头
手动配置静态文件访问资源
STATICFILES_DIRS=[
os.path.join(BASE_DIR,‘static‘),
os.path.join(BASE_DIR,‘static1‘)
]
接口前缀,动态解析
{%load static%}
<\link rel="stylesheet" href="{% static‘bootstrap/css/bootstrap.min.css‘%}">
<\script src="{% static ‘bootstrap/js/bootstrap.min.js %‘}">
form表单操作
form表单 action参数可以写的形式
? 1、不写 默认朝当前地址提交
? 2、只写后缀/index/
? 3、写全路径
form表单默认朝后端提交的方式,默认是get请求
缺点:
? 1、不安全
? 2、get请求携带的参数有大小限制(最大不能超过4kb)
? 前期你如果提交post请求,你就去settings.py文件注释掉一个中间件
? ‘django.middleware.csrf.CsrfViewMiddleware‘,
request对象及方法
前后端数据交互
如何获取请求方式
1、获取post请求携带的数据
request.POST
2、获取get请求携带的数据
request.GET
get和post在后端获取用户数据的时候,规律是一样的
request.POST.get(‘username‘)默认只取列表的最后一个元素
如果你想将列表完整的取出,你必须用getlist()
pycharm连接数据库 django连接数据库
第一步配置文件中配置
DATABASES={
‘default‘:{
‘ENGINE‘:‘django.db.backends.mysql‘,
‘NAME‘:‘数据库名‘,
‘USER‘:‘root‘,
‘PASSWORD‘:‘‘,
‘HOST‘:‘127.0.0.1‘,
‘PORT‘:3306,
‘CHARSET‘:‘utf8‘
}
}
第二步
django默认使用的是mysqldb连接数据库,但是该模块不支持了
所以你要告诉django不要用mysqldb该用pymysql连接
可以在项目下面的__init__.py也可以在应用名下面的__init__.py文件中指定
import pymysql
pymysql.install_as_MySQLdb()
django orm简介
orm对象关系映射
类 数据库的表
对象 表的记录
对象获取属性 记录的某个字段对应的值
优点:能够让一个不会数据库操作的人,也能够简单快捷去使用数据库
缺点:由于封装程度太高可能会导致程序的执行效率偏低
? 有时候结合项目需求 可能需要你手写sql语句
注意事项:
? 1、django的orm不会自动帮你创建库,库需要你自己手动创建
? 表会自动帮你创建 ,你只需要书写符合django orm语法的代码即可
在应用下所在的models.py中书写类
数据库迁移
python manage.py makemigrations
python manage.py migrate
只要你在models.py中修改了跟数据库相关的代码,你就必须重新开始执行上面两条命令