zoukankan      html  css  js  c++  java
  • 🍖06 创建应用(app),表(model)及路由配置

    一.创建应用 : user

    • 进入到 apps 目录下执行命令
    python ../../manage.py startapp user
    

    二.创建 user 应用对应的 model

    • 进入 app---->user---->model
    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
    
    • 下载 pillow 模块
    pip install pillow
    

    三.注册应用并配置User表

    1.注册应用

    • develop.py 文件中
    INSTALLED_APPS = [
        ...
        'rest_framework',
        'user',
    ]
    

    2.配置 User 表

    # 指定自定义的表 : [应用名.表名]
    AUTH_USER_MODEL = 'user.User'
    

    四.配置 media

    1.media 路径配置

    • 在 develop.py 文件中配置
    MEDIA_URL = '/media/'
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
    

    2.media 目录配置

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

    image-20210503173530008

    五.路由配置

    1.主路由配置 : luffyapi/urls.py

    from django.contrib import admin
    from django.urls import path, re_path, include
    from django.views.static import serve
    from luffyapi import settings
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('user/', include('user.urls')),
        re_path('^media/(?P<path>.*)', serve, {'document_root': settings.develop.MEDIA_ROOT})
    

    2.子路由配置 : user/urls.py

    from django.urls import path, include
    from rest_framework.routers import SimpleRouter
    router = SimpleRouter
    
    # 注册ViewSet的路由
    # router.register()
    
    urlpatterns = [
        path('', include(router.urls)),
    ]
    

    六.进行数据库迁移

    • cd 到项目根路径下, 因为 manage.py 在项目根路径下
    python manage.py makemigrations
    python manage.py migrate
    
  • 相关阅读:
    第十二周工作总结
    第八周工作总结
    冲刺2
    冲刺1
    用户场景分析
    用户场景分析
    水王在哪
    课堂练习-4个数的和
    《大道至简》第一章读后感
    ELF Format 笔记(三)—— Section Types
  • 原文地址:https://www.cnblogs.com/songhaixing/p/14730599.html
Copyright © 2011-2022 走看看