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
    
  • 相关阅读:
    ReentrantLock实现原理分析
    《亿级流量网站架构核心技术》概要
    Java日志框架:logback详解
    40个Java多线程问题总结
    使用Jenkins部署Spring Boot项目
    spring security 实践 + 源码分析
    Spring Boot使用过滤器和拦截器分别实现REST接口简易安全认证
    Spring Boot+redis存储session,满足集群部署、分布式系统的session共享
    maven-assembly-plugin的使用
    使用maven构建多模块项目,分块开发
  • 原文地址:https://www.cnblogs.com/songhaixing/p/14730599.html
Copyright © 2011-2022 走看看