day1(初始化项目结构)
1.初始化项目结构
└─shiyanlou_project
│ .gitignore
│ README.en.md # 英文
│ README.md # 中文项目简介
│
├─celery_task # 用来存放celery相关文件
│ __init__.py
│
├─db # 数据库相关:1.数据库初始化sql脚本; 2.数据库维护脚本,清 理,备份脚本
├─logs # 存放日志
├─packages # 外部包,原始的,未配置的:1.七牛云sdk;2.阿里云短信;
├─scrips # 脚本目录:1.定时任务脚本;2.页面静态化脚本;处理项目脚本
└─uwsgi_conf # uwsgi配置,日志,pid
│
│
└─syl
│ apps (python包) # Django各种app模块
│ libs (python包) # 七牛云sdk+配置
│ utils (python包) # 小工具,常用函数
│ static
│ templates
│ syl(项目配置)
│ manager.py
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目录插入,到系统包搜索路径第一个位置中
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
3.4 创建 user/urls.py子路由文件(第三步)
from django.urls import path
urlpatterns = [
]
4.重写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):
DoesNotExist = None
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'
models
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': 'syl01',
'PORT': 3306,
'HOST': '127.0.0.1',
'PASSWORD': '1',
'USER': 'root',
}
}
syl/settings.py
4.4生成表
python manager.py makemigrations
python manager.py migrate
最新文章
- (Task)任务异步(TAP)的使用
- HDU 4945 2048(dp)
- IOS开发者
- js的小随笔
- zoj 3513 Human or Pig 博弈论
- AES加密和Base64混合加密
- .Net写txt文件-简单的记录执行日志信息代码
- js中数组去重的几种方法
- js格式化时间戳
- Java反射机制剖析(三)-简单谈谈动态代理
- HTTP请求过程-域名解析和TCP三次握手建立链接
- 如何在 Mac上 安裝 .NET Core 2.1 ?
- Django--CRM--一级, 二级 菜单表
- docker基本知识
- 一个在linxu自动切换ip的脚本
- 通过指定的 url 去网络或者文件服务器下载文件到本地某个文件夹
- Java中this和super的用法和区别
- c#: Noto Sans字体如何支持韩文
- Tomcat配置列表显示
- python strip()函数 os.popen()