安装准备
pip3 install django
project
project_name ----配置文件
app01
app02
app03
1.创建Django程序
a. 命令
python3 manage.py runserver
django-admin startproject site 创建project
cd mysite
python manage.py startapp app01 创建app01
b. pycharm
创建Django程序
终端,python manage.py startapp app01
Mac
option+R
startapp app01
2.执行程序
python manage.py runserver 127.0.0.1:8000
3. Django依赖数据库
a. 创建类
class UserInfo(models.Model):
username = models.CharField(max_length=32)
password = models.CharField(max_length=32)
age = models.IntergerField()
b 配置,settings.py
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01'
]
c. 使用命令根据类型创建表
python3 manage.py makemigrations #生成配置文件
python3 manage.py migrate #根据配置文件创建数据库相关
python3 manage.py migrate app01 --fake
python3 manage.py createsuperuser 创建超级账户
#################
#python3 manage.py migrate 初始化数据库
d. 默认表名
appname_classname
e. 增删改查
from app01 import models
python manage.py shell
dir(modles) 查看数据库模块
增加
models.UserInfo.objects.create(username='minwei',password='123',age='33')
dic = {"username":'shanqiu','password':'123',"age":33}
models.UserInfo.objects.create(**dic)
或者
a1 = models.UserInfo(username='minwei',password='123',age='33')
a1 = save()
删除
models.UserInfo.objects.filter(username='shanqiu').delete()
修改
age所有改成18
models.UserInfo.objects.all().update(age=18)
user_list_obj = case_list.objects.filter(status_id=0)
低效修改
a1 = case_list.objects.filter(status_id=0).last()
a1.summary = 'testtestts'
a1.save()
高效修改
models.UserInfo.objects.filter(age=33).update(age=24)
查寻
models.UserInfo.objects.all()
models.UserInfo.objects.filter(age=18).first()
models.UserInfo.objects.filter(age=18)
AND: case_list.objects.filter(status_id=0,GID=19934)
like: case_list.objects.filter(GID__contains=199)
忽略大小写: case_list.objects.filter(summary__icontains=hahah)
order_by: case_list.objects.filter(GID__contains=199).order_by(-caseid)
除了contains 还有range
联合查询:
a1=case_list.objects.filter(GID__contains=199).order_by(-caseid)
a1.status.select_related()
例子:
user_list_obj = case_list.objects.filter(status_id=0)
for line in user_list_obj:
print(line.caseid)
4.admin
python manage.py createsuperuser #admin创建账号
http://127.0.0.1:8000/admin/