新建Django +vue 项目 一

1.新建Django项目

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

新建Django +vue 项目 一_第1张图片
PyCharm新建项目

2.安装Django的相关插件

  • djangorestframework
  • markdown
  • django-filter
  • pymysql
  • pillow
新建Django +vue 项目 一_第2张图片
image.png

3.设置链接mysql 数据库。

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

新建Django +vue 项目 一_第3张图片
image.png

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

import pymysql
#设置mysql数据库驱动
pymysql.install_as_MySQLdb()
新建Django +vue 项目 一_第4张图片
设置链接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'"}
    }
}
新建Django +vue 项目 一_第5张图片
数据库设置

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

新建Django +vue 项目 一_第6张图片
image.png
makemigrations
migrate

4.1 makemigrations

新建Django +vue 项目 一_第7张图片
makemigrations

4.2 migrate

新建Django +vue 项目 一_第8张图片
成功执行

4.3查看数据库表

新建Django +vue 项目 一_第9张图片
image.png

5. Rest API

每一个url就是一个资源

6. 使用ViewSet 视图创建API

7.整理项目目录结构

7.1 新建一个python pages -apps

新建Django +vue 项目 一_第10张图片
image.png

7.2 将user 拖入apps

新建Django +vue 项目 一_第11张图片
image.png

7.3 第三包 -extra_apps

新建Django +vue 项目 一_第12张图片

7.4 文件夹 media 多媒体

新建Django +vue 项目 一_第13张图片

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

新建Django +vue 项目 一_第14张图片
image.png

7.6 把apps 、extra_apps Mark成Source Root

新建Django +vue 项目 一_第15张图片
image.png

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

新建Django +vue 项目 一_第16张图片
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
新建Django +vue 项目 一_第17张图片
image.png

在user的model建立字段模型


新建Django +vue 项目 一_第18张图片
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"
新建Django +vue 项目 一_第19张图片
setting

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

9.添加DjangoUeditor 第三类库

新建Django +vue 项目 一_第20张图片
image.png

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

支付宝红包码

你可能感兴趣的:(新建Django +vue 项目 一)