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/访问后台站点管理系统了,登陆后具体运行效果如下: