zoukankan      html  css  js  c++  java
  • user模块User表

    user模块User表

    创建user模块

    前提:在 luffy 虚拟环境下
    
    1.终端从项目根目录进入apps目录
    >: cd luffyapi & cd apps
    
    2.创建app
    >: python ../../manage.py startapp user
    

    创建User表对应的model: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表
    AUTH_USER_MODEL = 'user.User'
    

    配置media

    media配置:dev.py
    MEDIA_URL = '/media/'
    MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
    
    media目录配置
    """
    ├── luffyapi
        └──	luffyapi/
           	└──	media/  	
    			└──	icon 
    				└── default.png
    """
    
    主路由:luffyapi/urls.py
    from django.contrib import admin
    from django.urls import path, re_path, include
    from django.views.static import serve
    from django.conf import settings
    urlpatterns = [
        path('admin/', admin.site.urls),
    
        path('user/', include('user.urls')),
    
        re_path('^media/(?P<path>.*)', serve, {'document_root': settings.MEDIA_ROOT})
    ]
    
    子路由:user/urls.py
    from django.urls import path, include
    from utils.router import router
    
    # 注册ViewSet的路由
    # router.register()
    
    urlpatterns = [
        path('', include(router.urls)),
    ]
    

    数据库迁移

    """
    1)去向大luffyapi所在目录的终端
    
    2)安装pillow模块
    pip install pillow
    
    3)数据库迁移
    python manage.py makemigrations
    python manage.py migrate
    """
    
  • 相关阅读:
    LeetCode 769. Max Chunks To Make Sorted
    LeetCode 845. Longest Mountain in Array
    LeetCode 1059. All Paths from Source Lead to Destination
    1129. Shortest Path with Alternating Colors
    LeetCode 785. Is Graph Bipartite?
    LeetCode 802. Find Eventual Safe States
    LeetCode 1043. Partition Array for Maximum Sum
    LeetCode 841. Keys and Rooms
    LeetCode 1061. Lexicographically Smallest Equivalent String
    LeetCode 1102. Path With Maximum Minimum Value
  • 原文地址:https://www.cnblogs.com/kai-/p/12368778.html
Copyright © 2011-2022 走看看