01.初始化项目结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| └─shiyanlou_project │ .gitignore │ README.en.md │ README.md │ requirements.txt │ ├─celery_task │ __init__.py │ ├─db ├─scrips ├─logs ├─packages └─uwsgi_conf │ │ └─syl │ apps (python包) │ libs (python包) │ utils (python包) │ static │ templates │ syl(项目配置) │ manager.py
|
02.创建Django项目
1 2 3 4
| root@dev:shiyanlou_project (syl) root@dev:shiyanlou_project (syl) root@dev:shiyanlou_project
|
3.2 在setting.py中注册user模型(第一步)
1 2 3 4
| INSTALLED_APPS = [ 'user.apps.UserConfig', ]
|
3.3 syl/urls.py添加主路由(第二步)
1 2 3
| urlpatterns = [ path('user/', include('user.urls')), ]
|
3.5 syl/settings.py中添加apps路径
1 2
| sys.path.insert(0,os.path.join(BASE_DIR,'apps'))
|
3.4 创建 user/urls.py子路由文件(第三步)
1 2 3 4 5
| from django.urls import path
urlpatterns = [
]
|
04.重写Django默认认证用户模型
4.1 重写django user表
1 2 3 4 5 6 7 8 9 10 11 12
| from django.db import models from django.contrib.auth.models import AbstractUser
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中注册
1 2
| AUTH_USER_MODEL = 'user.User'
|
4.3 配置mysql
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| '''1.创建mysql数据库''' mysql> create database syldatabase charset utf8;
'''2.在syl/settings.py中配置mysql''' DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'syldatabase', 'USER': 'root', 'PASSWORD': '1', 'HOST': '127.0.0.1', 'PORT': '3306', } }
|
4.4生成表
1 2
| python manage.py makemigrations python manage.py migrate
|
05.python中的三种路径
5.1 操作系统绝对路径(第一种)
1 2 3 4 5
| BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) STATIC_URL = '/static/'
|
5.2 django 导包路径(第二种)
1 2
| 导包之前, 包的上级路径, 需要存在于 python system 的 path sys.path 这是一个列表
|
sys.path.insert(0, os.path.join(BASE_DIR, ‘apps’))
1
| from xxx import yyy 才能成功
|
5.3 django模型引用(第三种)
1 2 3
| 想使用 一个 models.py 文件中的模型 apps名称.model模型名 'users.User'
|
__END__