(一)Django 在线平台(Models设计,Xadmin设计)

本文介绍了使用Django 2.7构建在线教育平台的第一步,包括创建虚拟环境,安装依赖,设计App的Models,如courses和organization,以及配置后台管理工具Xadmin。详细讲解了从创建app,设计数据库模型,到注册Models,处理外键约束问题,安装和配置Xadmin,优化后台界面的过程。
摘要由CSDN通过智能技术生成

Django Python2.7 编写在线教育平台笔记(第一部分Models设计,Xadmin设计)

==========================================================================
1: 创建虚拟环境(可选择用或不用虚拟环境)
  mkvirtualenv
安装
pip install django==1.9 
pip install python-mysql 
pip install Pillow

================================================================ =========

后台admin用的xadmin 需安装以下依赖

Django=>1.9

django-crispy-forms==1.6.1

django-formtools==1.0

django-pure-pagination==0.3.0

django-simple-captcha==0.4.6

DjangoUeditor==1.8.143

httplib2==0.9.2

Pillow==3.4.2

==========================================================================


2: 创建Django项目
            python.manage.py startproject '项目名'

3:   创建Mysql 数据库 mconline  charset = utf8
      配置settings.py文件 建立MySQL连接

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

    在Pychamrm中 win + ALT + r 调出快捷操作

    迁移文件 makemigrations
    生成数据库 migrate


=======================================================================================

根据HTML页面设计AppModels开始

=======================================================================================
创建 users APP  startapp users  并设计models
# 在settings.py配置 重载Django自带的userAUTH_USER_MODEL = 'users.UserProfile'
# _*_ coding: utf-8 _*_
from __future__ import unicode_literals

from django.db import models
from django.contrib.auth.models import AbstractUser
from datetime import datetime


class UserProfile(AbstractUser):
    """
        用户表设计
        如果Django自带的用户表无法满足的时候继承原表增加自己的字段
    """
    nick_name = models.CharField(max_length=50, verbose_name=u'昵称', default='')
    birthday = models.DateField(verbose_name=u'生日', blank=True, null=True)
    gender = models.CharField(choices=(('male', u''), ('female', u'')),
                              default='female', max_length=6)
    address = models.CharField(max_length=100, default='')
    mobile = models.CharField(max_length=11, null=True, blank=True)
    image = models.ImageField(upload_to='image/%Y/%m',
                              default=u'image/default.png', max_length=100)

    class Meta:
        verbose_name = u'用户信息'
        verbose_name_plural = verbose_name

    def __unicode__(self):
        return self.username


class EmailVerifyRecord(models.Model):
    """
        邮箱验证码表设计 由于验证码只和Users有关系所以把表设计在UsersModels里
    """
    code = models.CharField(max_length=20, verbose_name=u'验证码')
    email = models.EmailField(max_length=50, verbose_name=u'邮箱')
    send_type = models.CharField(
        choices=(('register', u'注册'), ('forget', u'找回密码')), max_length=10)
    send_time = models.DateTimeField(default=datetime.now)

    class Meta:
        verbose_name = u'邮箱验证码'
        verbose_name_plural = verbose_name


class Banner(models.Model):
    """
        轮播图表 设计
    """
    title = models.CharField(max_length=100, verbose_name=u'标题')
    image = models.ImageField(upload_to='banner/%Y/%m'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值