爬虫、数据分析、人工智能、框架等领域。
Django项目
一、 分析页面抽象app
用户users 课程courses 机构 orgs 用户操作operations
二、 App设计
1、不能循环引用 2、设计上层app去解耦
三、 分析页面抽象模型
四、 模型设计
设置好settings和urls以后需要考虑到项目当中的数据,因此我们需要把每个App里面的模型类抽象并且把模型类创建出来,需要回过头再去查看页面,抽象每个模型类当中的数据模型字段
from django.db import models
from django.contrib.auth.models import AbstractUser
from datetime import datetime
# Create your models here.
class UserProfile(AbstractUser):
image = models.ImageField(upload_to='users/%y/%m/%d',max_length=200,verbose_name="用户头像",null=True,blank=True)
nick_name = models.CharField(max_length=20,verbose_name="用户昵称",null=True,blank=True)
birthday = models.DateTimeField(null=True,blank=True,verbose_name="用户生日")
gender = models.CharField(choices=(('男','男'),('女','女')),verbose_name="用户性别",max_length=6,default='男')
address = models.CharField(max_length=300,verbose_name="用户地址",null=True,blank=True)
phone = models.CharField(max_length=11,verbose_name="用户手机")
is_start = models.BooleanField(default=False,verbose_name="是否激活")
add_time = models.DateTimeField(default=datetime.now,verbose_name="添加时间")
def __str__(self):
return self.username
class Meta:
verbose_name = '用户信息'
verbose_name_plural = verbose_name
class BannerInfo(models.Model):
image = models.ImageField(upload_to='banners/%y/%m/%d',max_length=200,verbose_name="轮播图片")
url = models.URLField(max_length=200,verbose_name='轮播链接')
add_time = models.DateTimeField(default=datetime.now,verbose_name="添加时间")
def __str__(self):
return str(self.image)
class Meta:
verbose_name = '轮播图信息'
verbose_name_plural = verbose_name
class EmailVerifyCode(models.Model):
email = models.EmailField(max_length=50,verbose_name="邮箱")
code = models.CharField(max_length=20,verbose_name="验证码")
send_type = models.CharField(choices=(('register','注册激活'),('forget','重置密码'),('change','修改邮箱')),max_length=15,verbose_name="发送类别")
add_time = models.DateTimeField(default=datetime.now,verbose_name="发送时间")
def __str__(self):
return self.code
class Meta:
verbose_name='邮箱验证码'
verbose_name_plural = verbose_name
五、 Xadmin的配置和使用
xadmin是一个django的管理后台实现,使用了更加灵活的架构设计及Bootstrap UI框架, 目的是替换现有的admin,国人开发,有许多新的特性。