1.初始化项目结构
└─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.实验楼配置
- 使用pycharm打开项目
1.右击---->编辑配置----->
- 2.文件---->设置----->
- 文件---->设置----->
1.2、django的导包路径添加完毕,这时候可以像原来一样引用文件了。但是这时候你的pycharm编辑器还是不能正确的显示导包总是给你报红
这时候你需要把apps这个文件夹设为源码根即可解决这个问题
2.创建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
3.创建user模型
- 3.1 创建用户模型user
python ../manage.py startapp user 创建user模型
- 3.2 在setting.py中注册user模型(第一步)
INSTALLED_APPS = [ 'user.apps.UserConfig', ]
注:pycharm无法联想,需要把apps文件夹设置为源根
- 3.3 syl/urls.py添加主路由(第二步)
urlpatterns = [
path('user/', include('user.urls')),
]
- 3.5 syl/settings.py中添加apps路径
把apps目录插入,到系统包搜索路径第一个位置中
导包:import sys
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
- 3.4 创建 user/urls.py子路由文件(第三步)
from django.urls import path
urlpatterns = [
]
重写Django默认认证用户模型
- 4.1 user/models.py创建模型:从写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
- 4.2 syl/settings.py中注册自己的用户模型类
注册自己的用户模型类: 应用名.模型名,指定我们重写的User表进行身份验证
AUTH_USER_MODEL = 'user.User'
- 4.3 配置mysql
'''1.创建mysql数据库'''
mysql> create database syldb charset utf8;
'''2.在syl/settings.py中配置mysql'''
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'syldb', 指定数据库名称:MyCRM
'USER': 'root',
'PASSWORD': '1',
'HOST': '127.0.0.1',
'PORT': '3306', } }
- 4.4生成表
python manager.py makemigrations
python manager.py migrate