开发环境:Python3.7+Django2.2+Xampp(mysql)
配置mysql
1>修改setting.py
#要修改的部分
# Database
# https://docs.djangoproject.com/en/2.1/ref/settings/#databases
#DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
#}
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test',
'USER': 'root',
'PASSWORD': '',
'HOST': '127.0.0.1',
'PORT': '3306',
'OPTIONS':{
'init_command':"SET sql_mode='STRICT_TRANS_TABLES'",
'charset':'utf8',
},
}
}
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
2>添加pymysql
文件路径:Django_Example/__init__.py
"""
Package for Django_Study.
"""
import pymysql
pymysql.install_as_MySQLdb()
5.数据库建表 models.py
文件路径:Django_Example/app/models.py
#创建User表
class User(models.Model):
username=models.CharField(verbose_name=u'用户名',max_length=30,unique=True)
email = models.EmailField(verbose_name=u'邮箱',unique=True)
password = models.CharField(max_length=30)
gender = (('男','男'),('女','女'))
sex = models.CharField(verbose_name=u'性别',max_length=32,choices=gender,default="男")
download_sum = models.IntegerField(verbose_name='可下载次数', default=100)
enable = models.BooleanField(verbose_name='状态', default=True)
c_time = models.DateTimeField(verbose_name=u'创建时间',auto_now_add=True)
mod_date = models.DateTimeField(verbose_name=u'修改日期', auto_now=True)
def __str__(self):
return self.username
class Meta:
db_table = 'User'
verbose_name = '用户'
verbose_name_plural = '普通用户'
6.添加apps.py
路径:Django_Example/app/apps.py
from django.apps import AppConfig
class UserConfig(AppConfig):
name = 'app'
verbose_name = '用户管理'
7.添加_init.py
路径:Django_Example/app/_init_.py
default_app_config = 'app.apps.UserConfig'
8.添加admin.py
路径:Django_Example/app/admin.py
@admin.register(models.User)
class UserAdmin(admin.ModelAdmin):
# 要显示的字段
list_display = (
'id', 'name', 'email', 'password', 'download_sum', 'enable',
'create_time', 'update_time')
# 需要搜索的字段
search_fields = ('name',)
# 分页显示,一页的数量
list_per_page = 20
actions_on_top = True
#或者写 admin.site.register(models.User)
9.添加migrations文件夹
路径:Django_Example/app/migrations
里面的0001、0002、0003是创建完成后,维护的操作,
10.最后运行命令
python manage.py makemigrations #生产差异数据文件
python manage.py migrate #生产数据表