不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • python基础

  • python模块

  • django

    • 01_Django基础

    • 02_Model数据库操作

    • 03_DRF框架

      • 01.web开发两种模式
      • 02.Restful风格
      • 03.DRF框架作用
      • 04.环境安装与使用
      • 05.Serializer
      • 06.ModelSerializer
      • 07.APIView
      • 08.初始化项目结构
        • 01.初始化项目结构
        • 02.创建Django项目
        • 03.创建user模型
          • 3.1 创建用户模型user
          • 3.2 在setting.py中注册user模型(第一步)
          • 3.3 syl/urls.py添加主路由(第二步)
          • 3.5 syl/settings.py中添加apps路径
          • 3.4 创建 user/urls.py子路由文件(第三步)
        • 04.重写Django默认认证用户模型
          • 4.1 重写django user表
          • 4.2 syl/settings.py中注册
          • 4.3 配置mysql
          • 4.4生成表
        • 05.python中的三种路径
          • 5.1 操作系统绝对路径(第一种)
          • 5.2 django 导包路径(第二种)
          • 5.3 django模型引用(第三种)
      • 09.ModelViewSet
    • 04_部署

  • flask

  • SYL

  • Celery

  • 微服务

  • python
  • django
  • 03_DRF框架
xiaonaiqiang
2021-02-18
目录

08.初始化项目结构

# 01.初始化项目结构

└─shiyanlou_project          # 项目根路径
    │  .gitignore             # 提交git仓库时,不提交的文件必须要在这里进行标注
    │  README.en.md           # 英文(项目介绍)
    │  README.md              # 中文项目简介
    │  requirements.txt       # django项目安装文件
    │
    ├─celery_task            # 用来存放celery相关文件(以便分布式部署)
    │      __init__.py
    │
    ├─db                     # 数据库相关:1.数据库初始化sql脚本; 2.数据库维护脚本,清理,备份脚本
    ├─scrips                 # 脚本目录:1.定时任务脚本;2.页面静态化脚本;处理项目脚本
    ├─logs                   # 存放日志
    ├─packages               # 外部包,原始的,未配置的:1.七牛云sdk;2.阿里云短信;
    └─uwsgi_conf             # uwsgi配置,日志,pid
    │
    │
    └─syl                    # 真正的django项目(代码)django-admin startproject   项目名
        │  apps (python包)                   # Django各种app模块 
        │  libs (python包)                   # 七牛云sdk+配置(外部下载)
        │  utils (python包)                  # 小工具,常用函数(自己写的)
        │  static                 
        │  templates
        │  syl(项目配置)
        │  manager.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

# 02.创建Django项目

root@dev:shiyanlou_project# workon syl
(syl) root@dev:shiyanlou_project# cd /aaa/shiyanlou_project/
(syl) root@dev:shiyanlou_project# django-admin startproject syl
# 注:创建三个python包, apps、utils、libs
1
2
3
4
  • 使用pycharm打开项目

    • 1.右击---->编辑配置----->

      •    PYTHONUNBUFFERED               1 
           DJANGO_SETTINGS_MODULE         syl.settings
        
        1
        2
    • 2.文件---->设置----->

    • 3.文件---->设置----->

# 03.创建user模型

# 3.1 创建用户模型user

python ../manage.py startapp user  # 创建user模型
1

# 3.2 在setting.py中注册user模型(第一步)

INSTALLED_APPS = [
    'user.apps.UserConfig',
]
# 注:pycharm无法联想,需要把apps文件夹设置为源根
1
2
3
4
  • 要想让pycharm识别要这样操作

# 3.3 syl/urls.py添加主路由(第二步)

urlpatterns = [
    path('user/', include('user.urls')),
]
1
2
3

# 3.5 syl/settings.py中添加apps路径

# 把apps目录插入,到系统包搜索路径第一个位置中
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
1
2

# 3.4 创建 user/urls.py子路由文件(第三步)

from django.urls import path

urlpatterns = [

]
1
2
3
4
5

# 04.重写Django默认认证用户模型

# 4.1 重写django user表

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

# Create your models here.
class User(AbstractUser):
    phone = models.CharField('手机号',max_length=20)
    img = models.ImageField(upload_to='user',null=True)
    nick_name = models.CharField('昵称',max_length=20)
    address = models.CharField('地址',max_length=255)

    class Meta:
        db_table = 'tb_user'
1
2
3
4
5
6
7
8
9
10
11
12

# 4.2 syl/settings.py中注册

# 注册自己的用户模型类: 应用名.模型名,指定我们重写的User表进行身份验证
AUTH_USER_MODEL = 'user.User'
1
2

# 4.3 配置mysql

'''1.创建mysql数据库'''
mysql> create database syldatabase charset utf8;

'''2.在syl/settings.py中配置mysql'''
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'syldatabase',              # 指定数据库名称:syldatabase
        'USER': 'root',
        'PASSWORD': '1',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 4.4生成表

python manage.py makemigrations
python manage.py migrate
1
2

# 05.python中的三种路径

# 5.1 操作系统绝对路径(第一种)

  • django 静态文件查找, 模板查找(第一种)
# 去配置好的 文件夹 中查找指定的文件
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
# /teach/shiyanlou_project/syl/apps/user/   # linux
# E:\_000\XSX
1
2
3
4
5

# 5.2 django 导包路径(第二种)

  • 第一:当期文件夹
  • 第二:sys.path
导包之前, 包的上级路径, 需要存在于 python system 的 path
sys.path  这是一个列表
​```
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
​```
from xxx import yyy  才能成功
1
2
3
4
5
6

# 5.3 django模型引用(第三种)

想使用 一个 models.py 文件中的模型
apps名称.model模型名
'users.User'
1
2
3
上次更新: 2024/3/13 15:35:10
07.APIView
09.ModelViewSet

← 07.APIView 09.ModelViewSet→

最近更新
01
04.数组双指针排序_子数组
03-25
02
08.动态规划
03-25
03
06.回溯算法
03-25
更多文章>
Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式