002-Django数据库及后台admin配置

时间:2019-11-18
本文章向大家介绍002-Django数据库及后台admin配置,主要包括002-Django数据库及后台admin配置使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

连接mysql数据库

  1. 数据库准备

    1. 如果连接本机数据库,mysql安装及配置可参考https://www.cnblogs.com/feizisy/p/11882521.html
    2. 如果连接阿里云数据库,在阿里云工作台-数据安全性的地方设置下白名单,白名单添加地址需为访问外网IP
  2. 创建数据库

    1. 本机:

      create database your_database_name
    2. 阿里云:阿里云工作台-数据库管理-创建数据库

  3. yourprojectname/settings.py 配置数据库

    # Database
    # https://docs.djangoproject.com/en/2.2/ref/settings/#databases
    
    DATABASES = {
        'default': dict(ENGINE='django.db.backends.mysql',
                        HOST='your_host',
                        #本机数据库,使用127.0.0.1
                        #阿里云数据库,使用阿里云工作台-数据库连接-外网地址
                        PORT='3306',
                        NAME="your_database_name",
                        USER='your_username',
                        PASSWORD='your_password')
    }
  4. yourprojectname/init.py 下更改pymysql驱动,原默认为mysqldb(python3不再支持)

    import pymysql
    pymysql.install_as_MySQLdb()
  5. yourappname/models.py 创建数据库表

    from django.db import models
    
    """
    用户表
    """
    
    class User(models.Model):
        username = models.CharField(verbose_name="用户名", max_length=20, unique=True, null=True)
        status = models.CharField(verbose_name="用户状态", max_length=4, null=True,help_text="0:已删除;1:使用中",default=1)
        iphone = models.CharField(verbose_name="手机号", max_length=11, unique=True, null=True)
        email = models.EmailField(verbose_name="邮箱", max_length=20, unique=True)
        signature = models.TextField(verbose_name="签名", max_length=500)
        createtime = models.DateTimeField(verbose_name="创建时间", auto_now=True)
    
    def __str__(self):
        return self.realname
  6. 数据库同步,终端执行,中间可能会遇到部分问题,参考https://www.cnblogs.com/feizisy/p/11847996.html

    python manage.py makemigrations
    python manage.py migrate
  7. 迁移完成,可以在终端执行show tables,或者阿里云官网或navicat客户端查看django自带的一些表

原文地址:https://www.cnblogs.com/feizisy/p/11882972.html