Django-1
Django
1. 登录功能的实现
1. form表单提交数据的注意事项:
1. 是form不是from,必须要有method和action
2. 所有获取用户输入的表单标签要放在form表单里面,表单标签必须要有name属性
3. form表单必须要有submit按钮
2. GET和POST
什么时候用GET: 向服务端请求一个网页的时候搜索引擎检索时
什么时候用POST: 使用表单向服务器提交数据时
3. request.method --> 获取的是你请求的方法(GET/POST...) 必须是大写!!!
4. request.POST --> 获取POST提交过来的全部数据(字典)
5. redirect --> 跳转到指定页面!!!
基础必会三件套:
1. HttpResponse("OK") 直接返回字符信息
2. render(request, "login.html") 返回HTML页面
3. redirect("URL")返回网址
6. app
project (学校)- app (学院)
创建APP:
python3 manage.py startapp app01
创建好APP,记得告诉Django, 我有这个app
在settings.py中,
# 安装的app都有哪一些
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages'
'django.contrib.staticfiles',
'app01',
# 'app01.apps.App01Config',
]
2. ORM(对象关系映射)
1. pymysql
import pymysql
conn = pymysql.connect(
host="127.0.0.1",
port=3306,
user="root",
password="123",
database="day62",
charset="utf8"
)
cursor = conn.cursor()
cursor.execute("slect * from user;")
ret = cursor.fetchall()
2.
document.getElementById(id)
$("#id")
ORM中,数据库对应关系:
数据表 类 数据行 实例对象 字段 属性
代码操作数据库的方式;
直接执行SQL
优点:执行效率高 缺点:开发效率低
按照特定的语法写,翻译成SQL语句再去执行
优点:开发效率高 缺点:执行效率低,你会忘记SQL语句
ORM: sqlAlchemy Flask
ORM和原生的SQL语句,根据具体的应用场景自行取舍。
Django里面的ORM的使用:
1. 告诉Django连接那个数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'day62',
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASSWORD': '123',
}
}
2. 告诉Django怎么连接
Django默认使用的是 MySQLdb模块 连接数据库
告诉Django用pymysql这个模块去连接MySQL
在settings.py同目录下的__init__.py文件中,指定使用pymysql模块代替MySQLdb
import pymysql
pymysql.install_as_MySQLdb()
3. 在app/models.py文件中定义类
一定要继承models.Model
4. 执行创建表的操作
1. python3 manage.py makemigrations --> 将models.py的修改登记到小本本上
2. python3 manage.py migrate --> 将修改翻译成SQL语句,去数据库执行