美文网首页Django 学习笔记前端
新建Django +vue 项目 一

新建Django +vue 项目 一

作者: whong736 | 来源:发表于2018-08-21 23:29 被阅读224次

    1.新建Django项目

    在PyCharm中新建Django,项目名称:MxShop,APP :users,取消勾选Django admin

    PyCharm新建项目

    2.安装Django的相关插件

    • djangorestframework
    • markdown
    • django-filter
    • pymysql
    • pillow
    image.png

    3.设置链接mysql 数据库。

    3.1新建一个项目数据库mxshop在mysql,注意使用utf-8编码格式

    image.png

    3.2 设置mysql数据库驱动,打开项目的 _init.py

    import pymysql
    #设置mysql数据库驱动
    pymysql.install_as_MySQLdb()
    
    设置链接mysql数据库驱动

    3.Django Setting中设置Mysql数据库

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME':  "mxshop",
            'USER': 'root',
            'PASSWORD': "654321",
            'HOST': "127.0.0.1",
            'OPTIONS':   {'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"}
        }
    }
    
    数据库设置

    4.同步数据库 - Run manage.py Task

    image.png
    makemigrations
    migrate
    

    4.1 makemigrations

    makemigrations

    4.2 migrate

    成功执行

    4.3查看数据库表

    image.png

    5. Rest API

    每一个url就是一个资源

    6. 使用ViewSet 视图创建API

    7.整理项目目录结构

    7.1 新建一个python pages -apps

    image.png

    7.2 将user 拖入apps

    image.png

    7.3 第三包 -extra_apps

    7.4 文件夹 media 多媒体

    7.5 文件夹 db_tools 数据库连接工具

    image.png

    7.6 把apps 、extra_apps Mark成Source Root

    image.png

    7.7 把apps,extra_apps目录加入到根目录中

    image.png
    import sys
    
    sys.path.insert(0,BASE_DIR)
    sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
    sys.path.insert(0,os.path.join(BASE_DIR,'extra_apps'))
    
    

    8.新建model

    1.根据电商项目的需求分析,需要四个app对应用户、商品、交易、操作:users、goods、trade、user_operation
    打开Terminal终端,执行新建app命令:

    python manage.py startapp trade
    python manage.py startapp goods
    python manage.py startapp user_operation
    
    image.png

    在user的model建立字段模型


    image.png

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

    Create your models here.

    class UserProfile(AbstractUser):

    """用户"""
    
    name = models.CharField(max_length=30, null=True, blank=True, verbose_name="姓名")
    birthday = models.DateField(null=True, blank=True, verbose_name="出生年月")
    gender = models.CharField(max_length=6, choices=(("male","男"),("female","女")), default="female", verbose_name="性别")
    mobile = models.CharField(null=True, blank=True, max_length=11, verbose_name="电话")
    email = models.EmailField(max_length=100, null=True, blank=True, verbose_name="邮箱")
    
    class Meta:
        verbose_name = "用户"
        verbose_name_plural = verbose_name
    
    def __str__(self):
        return self.username
    

    class VerifyCode(models.Model):
    """短信验证密码"""

    code = models.CharField(max_length=10, verbose_name="验证码")
    mobile = models.CharField(max_length=11, verbose_name="电话")
    add_time = models.DateTimeField(default= datetime.now, verbose_name="添加时间")
    
    class Meta:
        verbose_name = "短信验证码"
        verbose_name_plural = verbose_name
    
    def __str__(self):
        return self.code
    
    AUTH_USER_MODEL = "users.UserProfile"
    
    setting

    设置自定义的user,不然makemigrations时会报错。

    9.添加DjangoUeditor 第三类库

    image.png

    觉得文章有用,请用支付宝扫描,领取一下红包!打赏一下

    支付宝红包码

    相关文章

      网友评论

        本文标题:新建Django +vue 项目 一

        本文链接:https://www.haomeiwen.com/subject/qgvbuftx.html