Django基础
1.Django安装
pip install django==2.1.5
2.修改配置
settings.py-->
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False
3.Django默认的数据库是sqlite,如果想用mysql
settings.py-->
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db1',
'USER': 'user1',
'PASSWORD': 'pass111',
'HOST':'192.126.1.1',
'PORT':3306
} #MYSQL的配置
然后在__init__.py里加入
import pymysql
pymysql.install_as_MySQLdb()
#如果使用mysql的话,一定要加这个
4.在主目录下新建一个static目录来存放静态文件
5.用静态文件的配置
settings.py-->
STATICFILES_DIRS = (
os.path.join(BASE_DIR,'static'),
) #用静态文件的配置
6.与数据库交互
python manage.py makemigrations 生成表结构
python manage.py migrate 建表
python manage.py createsuperuser 创建超级账号
7.如果想通过后台管理加数据
admin-->
from . import models
admin.site.register(models.Category)
8.Django操作数据库
新建一个py文件-->model_test.py
导入model文件
import django,os
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'django_demo.settings')
django.setup()
from user.models import Category
新增:
方式1-->
Category.objects.create(name='DB2')
方式2-->
obj = Category(name='Oracle')
obj.save()
查询:
obj = Category.objects.all() #获取所有的
obj = Category.objects.get(id=1) # 获取一条,获取多条会报错
obj = Category.objects.get(id__gt=1) #大于
obj = Category.objects.get(id__lt=1) #小于
obj = Category.objects.get(id__gte=1) #大于等于
obj = Category.objects.get(id__lte=1) #小于等于
data = Category.objects.filter()
data.first() #取第一个
data.last() #取最后一个
data = Category.objects.filter(name__endswith='xx') #以xx结尾
data = Category.objects.filter(name__startswith='xx') #以xx开头
data = Category.objects.exclude(name="首页").filter(id__gte=1) #exclude排除
data = Category.objects.filter(name__startswith='李').exclude(sex="女") #以李开头且性别不是女的
data = Category.objects.filter(name__contains='l') #包含
data = Category.objects.filter(name__icontains='l') #不区分大小写包含
data = Category.objects.filter(name__in=['首页','Mysql','python']) #包含
修改:
Category.objects.update(is_delete=True) #修改全表
obj = Category.objects.get(id=1) #改某条数据
obj.is_delete = False
obj.save() #修改一条需要sava
Category.objects.filter(id__in=[2,3,4]).update(is_delete=False) # 修改多条不需要sava
删除:
Category.objects.all().delete() #删除全表
obj = Category.objects.get(id=1) #删某条数据
obj.delete()
obj.save()
Category.objects.filter(id__in=[2,3,4]).delete(is_delete=False)
排序:
Category.object.all().order_by("greate_time") #按照创建时间排序
9.上传文件
pip install pillow #需要先下载这个模块
setting-->
MEDIA_ROOT = os.path.join(BASE_DIR,'static') #上传文件的路径