2.初始化项目结构

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包)                  # 小工具,常用函数
        │  stati
        │  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 sy
# 注:创建三个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.4 创建 user/urls.py子路由文件(第三步)
from django.urls import path

urlpatterns = [

]
3.5 syl/settings.py中添加apps路径
# 把apps目录插入,到系统包搜索路径第一个位置中
sys.path.insert(0,os.path.join(BASE_DIR,'apps'))

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):    
	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

5.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
5.2django 导包路径(第二种)
导包之前, 包的上级路径, 需要存在于 python system 的 path 
sys.path  这是一个列表
 ```
 sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
  ```
from xxx import yyy  才能成功
5.3django 模型引用路径(第三种)
想使用 一个 models.py 文件中的模型 
apps名称.model模型名 
'users.User'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值