Django 示例
Django 示例
完整的登录示例
完整的登录示例
form表单使用的注意事项:
1. action="" method="post" action 提交的地址 method 请求的方式
2. input标签要有name属性
3. 有一个input的类型是sumbit 或者 button按钮
注释掉settings.py中的MIDDLEWARE中的'django.middleware.csrf.CsrfViewMiddleware'
就可以提交post请求
GET和POST的区别:
1. GET 获取一个页面
login/?user=alex&pwd=alexdsb
在Django中获取数据
request.GET {}
request.GET['user']
request.GET.get('user')
2. POST 提交数据
数据不可见 请求体中
在Django中获取数据
request.POST {}
request.POST['user']
request.POST.get('user')
APP
创建APP
1. 命令行:
python manage.py startapp app名称
2. pycharm
tools run manage.py tsak
startapp app名称
注册app
INSTALLED_APPS 列表中添加
'app01',
'app01.apps.App01Config' # 推荐写法
ORM
ORM介绍和使用
1. 使用mysql数据的步骤:
1. 创建mysql数据库
2. 在settings.py 中配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mysite',
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'root',
'PASSWORD': '',
}
}
3. 告诉Django使用pymysql模块连接mysql数据库
在与settings.py同级目录下的__init__.py中写代码:
import pymysql
pymysql.install_as_MySQLdb()
4. 在models.py中写类(models.Model):
class User(models.Model):
name = models.CharField(max_length=32)
pwd = models.CharField(max_length=32)
5. 执行数据量迁移的命令:
python manage.py makemigrations # 把models.py的变更记录记录下来
python manage.py migrate # 把变更记录的操作同步到数据库中
2. ORM的操作:
1. all 获取所有数据
models.User.objects.all() ——》 对象列表
2. get 获取某一条数据(没有或者是多个的时候报错)
models.User.objects.get(name='alex') ——》 对象
3. filter 获取满足条件的所有的对象
models.User.objects.filter(name='alex',pwd='1') ——》 对象列表
4. obj.name name字段的值
obj.pwd pwd字段的值
obj.id obj.pk
图书管理系统
3.新增ORM操作
# 新增数据
ret = models.Publisher.objects.create(name=new_name) # ret 是对象
# 删除数据
models.Publisher.objects.get(pk=pk).delete()
# 修改数据
obj_list = models.Publisher.objects.filter(pk=pk)
obj = obj_list[0]
obj.name = new_name # 内存中修改数据
obj.save() # 向数据库提交,保存到数据库中
创建外键:
class Book(models.Model):
title = models.CharField(max_length=32, unique=True) # 书籍的名称
publisher = models.ForeignKey('Publisher', on_delete=models.CASCADE) # 关联了出版社