Django admin配置Mysql

开发环境: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 #生产数据表

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值