django配合mysql自定义后台管理系统

创建django项目后,创建组件manage

安装pymysql,pip install pymysql

并修改文件__init__.py

import pymysql 
  1. pymysql.install_as_MySQLdb()

找到setting.py,修改设置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'testchar',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

要从原有mysql数据库得到models,使用命令

 manage.py inspectdb

得到

class AuthGroup(models.Model):
    name = models.CharField(unique=True, max_length=80)

    class Meta:
        managed = False
        db_table = 'auth_group'


class AuthGroupPermissions(models.Model):
    group_id = models.IntegerField()
    permission_id = models.IntegerField()

    class Meta:
        managed = False
        db_table = 'auth_group_permissions'
        unique_together = (('group_id', 'permission_id'),)


class AuthPermission(models.Model):
    name = models.CharField(max_length=255)
    content_type_id = models.IntegerField()
    codename = models.CharField(max_length=100)

    class Meta:
        managed = False
        db_table = 'auth_permission'
        unique_together = (('content_type_id', 'codename'),)


class AuthUser(models.Model):
    password = models.CharField(max_length=128)
    last_login = models.DateTimeField(blank=True, null=True)
    is_superuser = models.IntegerField()
    username = models.CharField(unique=True, max_length=150)
    first_name = models.CharField(max_length=30)
    last_name = models.CharField(max_length=150)
    email = models.CharField(max_length=254)
    is_staff = models.IntegerField()
    is_active = models.IntegerField()
    date_joined = models.DateTimeField()

    class Meta:
        managed = False
        db_table = 'auth_user'


class AuthUserGroups(models.Model):
    user_id = models.IntegerField()
    group_id = models.IntegerField()

    class Meta:
        managed = False
        db_table = 'auth_user_groups'
        unique_together = (('user_id', 'group_id'),)


class AuthUserUserPermissions(models.Model):
    user_id = models.IntegerField()
    permission_id = models.IntegerField()

    class Meta:
        managed = False
        db_table = 'auth_user_user_permissions'
        unique_together = (('user_id', 'permission_id'),)


class DjangoAdminLog(models.Model):
    action_time = models.DateTimeField()
    object_id = models.TextField(blank=True, null=True)
    object_repr = models.CharField(max_length=200)
    action_flag = models.PositiveSmallIntegerField()
    change_message = models.TextField()
    content_type_id = models.IntegerField(blank=True, null=True)
    user_id = models.IntegerField()

    class Meta:
        managed = False
        db_table = 'django_admin_log'


class DjangoContentType(models.Model):
    app_label = models.CharField(max_length=100)
    model = models.CharField(max_length=100)

    class Meta:
        managed = False
        db_table = 'django_content_type'
        unique_together = (('app_label', 'model'),)


class DjangoMigrations(models.Model):
    app = models.CharField(max_length=255)
    name = models.CharField(max_length=255)
    applied = models.DateTimeField()

    class Meta:
        managed = False
        db_table = 'django_migrations'


class DjangoSession(models.Model):
    session_key = models.CharField(primary_key=True, max_length=40)
    session_data = models.TextField()
    expire_date = models.DateTimeField()

    class Meta:
        managed = False
        db_table = 'django_session'


class Journal(models.Model):
    name = models.CharField(max_length=20)
    project = models.ForeignKey('Project', models.DO_NOTHING, blank=True, null=True)
    author = models.CharField(max_length=20)
    content = models.CharField(max_length=1000)
    date = models.DateField()
    open = models.IntegerField()
    address = models.CharField(max_length=500, blank=True, null=True)
    stage = models.IntegerField(blank=True, null=True)
    examine = models.IntegerField(blank=True, null=True)

    class Meta:
        managed = False
        db_table = 'journal'


class Project(models.Model):
    name = models.CharField(max_length=20)
    introduce = models.CharField(max_length=50)
    concrete = models.CharField(max_length=5000)
    could = models.IntegerField()
    releasedate = models.DateField(db_column='releaseDate')  # Field name made lowercase.
    closingdate = models.DateField(db_column='closingDate')  # Field name made lowercase.
    applicationdate = models.DateField(db_column='applicationDate')  # Field name made lowercase.

    class Meta:
        managed = False
        db_table = 'project'


class User(models.Model):
    name = models.CharField(unique=True, max_length=20)
    number = models.IntegerField()
    email = models.CharField(max_length=20)
    phone = models.CharField(max_length=20)
    password = models.CharField(max_length=20)
    type = models.IntegerField()

    class Meta:
        managed = False
        db_table = 'user'

粘贴到models.py

找到admin.py,注册模型

from manage.models import Journal,Project,User;


# Register your models here.
admin.site.register([Journal,Project,User])
然后迁移数据,使用django自带的后台管理系统来管理本项目的数据库

猜你喜欢

转载自blog.csdn.net/qq_37828633/article/details/80859613
今日推荐