创建应用 创建表 media文件夹配置 路由配置

由于项目目录重构的原因,manage.py不在BASE_DIR路径下,导致无法再用Tools功能里的'Run manage.py Task'来创建app,所以使用命令行创建

注意: app的创建是基于manage.py实现的,所以要找到manage.py所在的文件夹然后执行python manage.py starapp命令

这里用一个user应用作为案例

创建User应用

前提:在 luffy 虚拟环境下

1.终端从项目根目录进入apps目录
>: cd luffyapi & cd apps

2.在apps文件夹下创建app
>: python ../../manage.py startapp user

创建User表

  • user/models.py
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
    mobile = models.CharField(max_length=11, unique=True)

    # 注意: 需要pillow插件
    icon = models.ImageField(upload_to='icon', default='icon/default.png')

    class Meta:
        db_table = 'luffy_user'
        verbose_name = '用户表'
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.username

注册user模块,配置User表

  • dev.py
INSTALLED_APPS = [
    # ...
    'user',
]

注意: 自定义User表  因为User表是基于 auth_user 表创建
AUTH_USER_MODEL = 'user.User'

配置media

注意: media文件夹要创建在BASE_DIR下

  • dev.py
MEDIA_URL = '/media/'  # 用于指定url路径
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')  # 用于指定上传文件的存储路径

media目录配置

├── luffyapi
    └── luffyapi/
        └── media/      
            └── icon 
                └── default.png

URL配置

  • luffyapi/urls.py 总路由
from django.contrib import admin
from django.urls import path, include, re_path
from django.views.static import serve
from django.conf import settings

urlpatterns = [
    path('admin/', admin.site.urls),
    # 路由分发
    path('user/', include('user.urls')),
    # media文件夹
    re_path('media/(?P<path>.*)',serve, {'document_root':settings.MEDIA_ROOT})

]
  • luffyapi/apps/user/urls.py
from django.contrib import admin
from django.urls import path

urlpatterns = [
    ...
]

数据库迁移

数据迁移是基于manage.py执行命令,所以要找到manage.py

python manage.py makemigrations 
python manage.py migrate

注意: 迁移时会报Pillow模块的错误

安装pillow模块
>: pip install Pillow

 创建admin

python manage.py createsuperuser

  •  apps/user/admin/py
from django.contrib import admin
from . import models
# Register your models here.
admin.site.register(models.User)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值