Django框架自动生成后台管理系统(以电商系统为例)


1.首先在setting中Database设置好链接的数据库,具体代码如下:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'phoneshop',
        'HOST': '127.0.0.1',
        'POPT': 3306,
        'USER': 'root',
        'PASSWORD': '123456',
    }
}

2.在cmd中登陆mysql建库

create database phoneshop

3.在models中建表,其中str返回的值是为了在站点管理系统中显示

from django.db import models
class userinfo(models.Model):
    user_name =models.CharField(max_length=32,primary_key=True)
    user_pwd=models.CharField(max_length=32)
    user_addr=models.CharField(max_length=32)
    user_zip=models.IntegerField()
    user_phone=models.BigIntegerField()
    user_turename=models.CharField(max_length=32)
    user_sex=models.CharField(max_length=32)
    user_email=models.CharField(max_length=32)
class admin(models.Model):
    admin_name =models.CharField(max_length=32,primary_key=True)
    admin_pwd=models.CharField(max_length=32)
class ptype(models.Model):
    ptype_id=models.AutoField(primary_key=True)
    ptype_name=models.CharField(max_length=32)
class product(models.Model):
    pro_id=models.AutoField(primary_key=True)
    pro_name=models.CharField(max_length=32)
    pro_type=models.ForeignKey(ptype,on_delete=models.CASCADE)
    # models.ForeignKey(Publisher, on_delete=models.CASCADE)
    pro_description=models.CharField(max_length=108)
    pro_img=models.ImageField(upload_to='img')
    pro_price=models.IntegerField()
class prodeploy(models.Model):
    prode_id=models.AutoField(primary_key=True)
    prode_proid = models.ForeignKey(product, on_delete=models.CASCADE)
    prode_color = models.CharField(max_length=32)
    pro_ram = models.CharField(max_length=32)
    prode_price=models.IntegerField()


class state(models.Model):
    state_num=models.IntegerField(primary_key=True)
    state_name=models.CharField(max_length=32)
class order(models.Model):
    order_id = models.AutoField(primary_key=True)
    order_pro = models.ForeignKey(product, on_delete=models.CASCADE)
    user_name = models.ForeignKey(userinfo, on_delete=models.CASCADE)
    order_time=models.DateTimeField(auto_now=True)
    order_bz=models.CharField(max_length=32)
    order_state=models.ForeignKey(state, on_delete=models.CASCADE)
class comment(models.Model):
    com_id=models.AutoField(primary_key=True)
    com_proid=models.ForeignKey(product,on_delete=models.CASCADE)
    com_name=models.ForeignKey(userinfo,on_delete=models.CASCADE)
    com_content=models.CharField(max_length=128)
    come_score=models.IntegerField

class favorite(models.Model):
    fav_id=models.AutoField(primary_key=True)
    fav_pro=models.ForeignKey(product,on_delete=models.CASCADE)
    user_name=models.ForeignKey(userinfo, on_delete=models.CASCADE)
    fav_time=models.DateTimeField(auto_now=True)
class advertise(models.Model):
    adv_id=models.AutoField(primary_key=True)
    adv_pic=models.ImageField(upload_to='/static/img')
    adv_link=models.CharField(max_length=128)

4.在Python命令行中执行如下语句生成数据表

python manage.py makemigrations    #将类转换成数据表结构
python manage.py  migrate               #根据上一句代码生成数据表

5.在admin中添加站点

from django.contrib import admin

# Register your models here.
from app.models import userinfo, favorite, order, prodeploy, ptype, state, comment, advertise, product

admin.site.register(userinfo)
admin.site.register(favorite)
admin.site.register(order)
admin.site.register(prodeploy)
admin.site.register(ptype)
admin.site.register(state)
admin.site.register(comment)
admin.site.register(advertise)
admin.site.register(product)

6.你可以通过命令 python manage.py createsuperuser 来创建超级用户,如下所示:

# python manage.py createsuperuser
Username (leave blank to use 'root'): admin
Email address: admin@runoob.com
Password:
Password (again):
Superuser created successfully.
[root@solar HelloWorld]#

7.接着就可以运行程序通过http://127.0.0.1:8000/admin/访问后台站点管理系统了,登陆后具体运行效果如下:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM