Django之form表单操作

小火车 2019-10-28

小白必会三板斧

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中修改了跟数据库相关的代码,你就必须重新开始执行上面两条命令

相关推荐

inspuryhq / 0评论 2020-07-28