成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > Django rest framework如何自定義用戶表

Django rest framework如何自定義用戶表

熱門標簽:地圖標注自己和別人標注區(qū)別 打電話機器人營銷 商家地圖標注海報 聊城語音外呼系統(tǒng) 騰訊地圖標注沒法顯示 ai電銷機器人的優(yōu)勢 孝感營銷電話機器人效果怎么樣 南陽打電話機器人 海外網(wǎng)吧地圖標注注冊

說明

Django 默認的用戶表 auth_user 包含 id, password, last_login, is_superuser, username, last_name, email, is_staff, is_active, date_joined, first_name 字段。這些基本字段不夠用時,在此基本表上拓展字段是很好選擇。本文介紹在 DRF(Django Rest Framework) 上使用自定義用戶表進行接口訪問控制的功能設(shè)計。

1. Django項目和應(yīng)用創(chuàng)建

先裝必要的模塊

pip install django
pip install djangorestframework

創(chuàng)建項目文件夾、項目和應(yīng)用

E:\SweetYaya> mkdir MyProj01
E:\SweetYaya> cd MyProj01
E:\SweetYaya\MyProj01> django-admin startproject MyProj01 .
E:\SweetYaya\MyProj01> django-admin startapp MyApp

同步數(shù)據(jù)庫

E:\SweetYaya\MyProj01> python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  ...
  Applying sessions.0001_initial... OK

執(zhí)行如下命令后測試訪問 http://127.0.0.1:8000/

E:\SweetYaya\MyProj01>python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
June 07, 2021 - 21:16:57
Django version 3.2.4, using settings 'MyProj01.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

2. 自定義User表

打開 MyApp/models.py 文件,創(chuàng)建繼承自 AbstractUserUserProfile 類,給它添加 namemobile 字段,它就是我們自定義的用戶表。

from django.db import models
from django.contrib.auth.models import AbstractUser


class UserProfile(AbstractUser):
    name = models.CharField(max_length=30, null=True, blank=True, verbose_name="姓名")
    mobile = models.CharField(max_length=11, verbose_name="電話")

    class Meta:
        verbose_name = "用戶"
        verbose_name_plural = "用戶"

        def __str__(self):
            return self.name

3. 序列化和路由

我們直接在 MyProj01/url.py 中進行定義序列化方法和路由配置

from django.urls import path, include
from MyApp.models import UserProfile
from rest_framework import routers, serializers, viewsets


# Serializers define the API representation.
class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = UserProfile
        fields = ['url', 'username', 'name', 'mobile', 'email', 'is_staff']


# ViewSets define the view behavior.
class UserViewSet(viewsets.ModelViewSet):
    queryset = UserProfile.objects.all()
    serializer_class = UserSerializer


# Routers provide an easy way of automatically determining the URL conf.
router = routers.DefaultRouter()
router.register('users', UserViewSet)

# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.
urlpatterns = [
    path('', include(router.urls)),
    path('api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]

3. DRF配置

找到 MyProj01/settings.py ,做如下配置

加入上面創(chuàng)建的應(yīng)用和 rest_framework

INSTALLED_APPS = [
    'django.contrib.admin',
	...
    'rest_framework',
    'MyApp',
]

添加全局認證設(shè)置

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAuthenticated'
    ]
}

修改默認用戶表,至此 settings.py 全部配置完成了。

AUTH_USER_MODEL = 'MyApp.UserProfile'

4. 同步數(shù)據(jù)庫

執(zhí)行 makemigrations 命令

E:\SweetYaya\MyProj01> python manage.py makemigrations
Migrations for 'MyApp':
  MyApp\migrations\0001_initial.py
    - Create model UserProfile

執(zhí)行 migrate 命令出現(xiàn)如下錯誤

E:\SweetYaya\MyProj01> python manage.py migrate
Traceback (most recent call last):
  File "manage.py", line 22, in module>
    main()
  File "manage.py", line 18, in main
    execute_from_command_line(sys.argv)
  File "D:\Program Files\Python36\lib\site-packages\django\core\management\__init__.py", line 419, in execute_from_command_line
    utility.execute()
  File "D:\Program Files\Python36\lib\site-packages\django\core\management\__init__.py", line 413, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "D:\Program Files\Python36\lib\site-packages\django\core\management\base.py", line 354, in run_from_argv
    self.execute(*args, **cmd_options)
  File "D:\Program Files\Python36\lib\site-packages\django\core\management\base.py", line 398, in execute
    output = self.handle(*args, **options)
  File "D:\Program Files\Python36\lib\site-packages\django\core\management\base.py", line 89, in wrapped
    res = handle_func(*args, **kwargs)
  File "D:\Program Files\Python36\lib\site-packages\django\core\management\commands\migrate.py", line 95, in handle
    executor.loader.check_consistent_history(connection)
  File "D:\Program Files\Python36\lib\site-packages\django\db\migrations\loader.py", line 310, in check_consistent_history
    connection.alias,
django.db.migrations.exceptions.InconsistentMigrationHistory: Migration admin.0001_initial is applied before its dependency MyApp.0001_initial on database 'default'.

解決辦法

makemigrations打開 settings.py ,注釋掉 INSTALL_APPS 中的
'django.contrib.admin',打開 urls.py ,注釋掉 urlpatterns 中的 admin,再 migrate 就不報錯了。最后注意把注釋內(nèi)容恢復(fù)回來就好了。

E:\SweetYaya\MyProj01> python manage.py migrate
Operations to perform:
  Apply all migrations: MyApp, admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  ...
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying sessions.0001_initial... OK

5. 測試

執(zhí)行命令

E:\SweetYaya\MyProj01>python manage.py runserver

訪問 http://127.0.0.1:8000/users/ 出現(xiàn)結(jié)果如下,此時表明配置成功,但是尚未進行用戶登錄無權(quán)訪問。

6. 命令行注冊用戶

進入 Python Shell

E:\SweetYaya\MyProj01> python manage.py shell
Python 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 6.5.0 -- An enhanced Interactive Python. Type '?' for help.

鍵入如下代碼

In [1]: from MyApp.models import UserProfile

In [2]: from django.contrib.auth.hashers import make_password

In [3]: ist = UserProfile(username='guest01',password=make_password('123456'))

In [4]: ist.save()

In [5]: ist = UserProfile(username='guest02',password=make_password('123456'))

In [6]: ist.save()

然后在數(shù)據(jù)庫中查看 MyApp_userprofile 表發(fā)現(xiàn)多了兩條記錄,添加成功,繼續(xù)訪問 http://127.0.0.1:8000/users/ 地址,使用用戶密碼登錄可見如下。測試完成。

到此這篇關(guān)于Django rest framework如何自定義用戶表的文章就介紹到這了,更多相關(guān)Django rest framework自定義用戶表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Django restframework 框架認證、權(quán)限、限流用法示例
  • DjangoRestFramework 使用 simpleJWT 登陸認證完整記錄
  • 深度解析Django REST Framework 批量操作
  • Python3+PyCharm+Django+Django REST framework配置與簡單開發(fā)教程
  • Django REST Framework 分頁(Pagination)詳解
  • Django restful framework生成API文檔過程詳解
  • 自定義Django_rest_framework_jwt登陸錯誤返回的解決
  • django rest framework使用django-filter用法
  • django restframework serializer 增加自定義字段操作
  • Django REST framework 限流功能的使用

標簽:六盤水 楊凌 南寧 撫州 聊城 揚州 迪慶 牡丹江

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Django rest framework如何自定義用戶表》,本文關(guān)鍵詞  Django,rest,framework,如何,自定義,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Django rest framework如何自定義用戶表》相關(guān)的同類信息!
  • 本頁收集關(guān)于Django rest framework如何自定義用戶表的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    免费av网页| 亚洲一级电影| 欧美黑吊大战白妞| av资源亚洲| 日韩一区二区三区四区| 性色av一区二区怡红| 女同互忝互慰dv毛片观看| 日日狠狠久久偷偷四色综合免费| www在线免费观看| 影音先锋男人在线| 网曝91综合精品门事件在线| 久久影视三级福利片| 午夜福利视频一区二区| yellow网站在线观看| 国产午夜精品免费一区二区三区| 欧美xo影院| 黄色成人在线网站| 国产视频不卡在线| 91在线视频国产| 久久久久久少妇| 久热这里只有精品6| 激情综合五月婷婷| 日本激情视频在线观看| jizz18欧美18| 欧美r级在线观看| 看黄的a网站| 天天躁日日躁狠狠躁av麻豆男男| 欧美日韩怡红院| 99在线视频影院| 国产亚洲精品久久久久久| 国产精品无码人妻一区二区在线| 91精品一区二区三区综合在线爱| 丁香花五月婷婷| 亚洲成人午夜影院| 日韩电影免费观看高清完整版在线观看| 超碰人人干人人| 日韩精品电影一区二区三区| 99热99热| 亚洲精品一区二区三区在线播放| 久久精品第九区免费观看| 精品成人免费一区二区在线播放| 国产欧美日韩综合精品一区二区三区| jizz亚洲少妇| 另类亚洲自拍| 97夜夜澡人人双人人人喊| 蜜桃在线一区二区| 欧洲美女精品免费观看视频| 香蕉精品视频在线观看| 精品免费国产二区三区| 中文字幕日韩欧美精品在线观看| 国产寡妇亲子伦一区二区三区四区| 欧美高清无遮挡| 欧美色播在线播放| 浅井舞香一区二区| 在线观看国产精品一区| 色吊丝在线永久观看最新版本| www国产精品av| 日韩美女毛茸茸| 中文字幕精品—区二区四季| 精品无人码麻豆乱码1区2区| 男人揉女人奶房视频60分| 成年人黄国产| 国产精品国产福利国产秒拍| 国模精品视频| 伊人亚洲精品| 精品毛片乱码1区2区3区| 亚洲精品在线观| 国产亲近乱来精品视频| 庆余年2免费日韩剧观看大牛| 99re6热在线精品视频播放速度| 青娱乐国产在线| 国产欧美一区| 东京干手机福利视频| 亚洲精品99999| 在线观看成人免费视频| 欧美精品国产精品| 欧美国产精品一二三| 精品国产一区a| 欧美极品少妇videossex| 日韩夫妻性生活xx| 久草综合在线观看| 午夜精品久久久久久久99热| 风间由美中文字幕在线看视频国产欧美| 亚洲精品久久久久国产| 一本加勒比波多野结衣| 成人毛片高清视频观看| 少妇久久久久久被弄高潮| 亚洲国产精品成人无久久精品| 91文字幕巨乱亚洲香蕉| 伊人久久婷婷色综合98网| 国产精品日本一区二区三区在线| 中文字幕不卡在线播放| www.色婷婷| 欧美精品与人动性物交免费看| 午夜精品成人在线| 免费成年人高清视频| 超碰免费公开在线| 91久久高清国语自产拍| 欧美videos另类齐全| 欧美性猛交内射兽交老熟妇| 国产成人aaaa| 日韩视频在线一区二区| 最新中文字幕2018| 91精品麻豆日日躁夜夜躁| 欧美日韩伦理一区二区| 亚洲v日韩v欧美v综合| 欧美日韩爆操| 欧美做a欧美| 理论片午午伦夜理片在线播放| 精品国产a一区二区三区v免费| 国产精品一区二区久久不卡| 国产精品高潮在线| 中文字幕高清一区| 你懂得视频在线观看| 国产亚洲一区二区三区在线播放| 成人深夜直播免费观看| 97影视大全免费追剧大全在线观看| 91久久精品一区| 欧美做受高潮中文字幕| 国产精品特级毛片一区二区三区| 欧美成人a视频| 精品国产欧美日韩一区二区三区| 日韩欧美三级在线观看| 欧美无人高清视频在线观看| 岛国在线大片| 亚洲女同精品视频| 免费欧美激情| 国产乱国产乱老熟300部视频| 老司机久久99久久精品播放免费| 国产成人高潮免费观看精品| 国产精品一区二区免费不卡| 中文字幕久热精品在线视频| 青青色青青操| 中午字幕在线观看| 欧美一区少妇| 日韩av在线一区二区| 免费v片在线观看| 91精品国产入口| 成人爽a毛片免费啪啪红桃视频| 欧美国产一二三区| 国模大尺度一区二区三区| 国产夫妻在线观看| 国产成人女人毛片视频在线| 亚洲天堂2018av| 精品不卡一区二区| 亚洲精品综合| 亚洲熟女乱色一区二区三区久久久| 一二三四中文字幕| 韩国三级av在线免费观看| 国产欧美自拍一区| 久草视频福利在线| 欧美在线观看视频一区二区| 国产精品久久久久久模特| 久久久99久久精品女同性| 快播av资源| 欧美高清电影在线看| 国产区av在线| 热99精品只有里视频精品| 欧美综合久久久| 亚洲色图av在线| 国产在线视频第一页| 综合久久国产九一剧情麻豆| 99久久精品情趣| 99热一区二区| 日本aⅴ精品一区二区三区| 婷婷国产精品| 男人搞女人网站| 色哟哟精品观看| 国产精品成人**免费视频| 国模精品系列视频| 一区二区三区在线视频观看58| 激情婷婷综合| 丁香花高清电影在线观看完整版| 亚洲毛片亚洲毛片亚洲毛片| 国产精品美女一区二区| 国产无人区码熟妇毛片多| 手机av在线| 三上亚洲一区二区| 欧美香蕉爽爽人人爽| 日韩精品影院| 欧美妇女性影城| 日韩男女性生活视频| 在线免费福利| 久久精品日产第一区二区三区| 国产性色av一区二区| 国产精品成人一区二区网站软件| 免费高清视频在线一区| 欧美福利在线播放| 日韩成人精品在线观看| 国产精品4hu.www| 亚洲天堂中文字幕在线观看| 精品乱码亚洲一区二区不卡| 99re99| 久久精品一本久久99精品| 偷偷色噜狠狠狠狠的777米奇| 国产精品18久久久久久vr| аⅴ资源天堂资源库在线| 亚洲国产精品系列| 国产一区二区精品在线观看| 欧美三级精品| 色中文字幕在线观看| 在线成人免费观看| 无限国产资源| 亚洲天堂一二三| 裸体xxxx视频在线| 中文字幕麻豆| 日韩av在线第一页| 最近中文字幕免费mv视频多少集| 国产大学生校花援交在线播放| 日韩高清一区| 播九公社成人综合网站| 午夜精品一区二区三级视频| 色综合久久88色综合天天免费| 精品a在线观看| 亚洲综合激情视频| www.色亚洲| 亚洲欧美日韩精品久久亚洲区| 亚洲无码精品一区二区三区| www久久久久久久| 亚洲风情第一页| 九色porny视频在线观看| 亚洲国产福利视频| 日本小视频网站| 91国偷自产一区二区三区的观看方式| 国产精品成人av久久| 中文字幕一区二区三区久久网站| 揉丰满老妇老女人的毛片| 久久xxx视频| 国产馆在线观看| 91av亚洲| 久久久久青草大香线综合精品| 8x8x华人在线| 免费在线看电影| 欧美日韩视频一区二区| 国产精品久久久久久久久婷婷| 国产一区二区无遮挡| 欧美电影三区| 图片区小说区亚洲| 激情欧美日韩| 天天综合天天操| 蜜臀av国内免费精品久久久夜夜| 久久99精品久久久久久动态图| 国产精品一色哟哟哟| 国产精品一区二区av影院萌芽| 日韩av123| 中文在线免费看视频| 在线看片第一页欧美| 国产一区二区三区四区五区入口| 蜜桃tv在线播放| 国产精品黄色在线观看| 国产jizz18女人高潮| 日韩中文字幕91| 日韩va欧美va亚洲va久久| 影音先锋2020资源| 欧美激情免费在线| 伊人久久大香线蕉综合网蜜芽| 国产一区二区三区四区福利| 99久久夜色精品国产亚洲1000部| 欧美video巨大粗暴18| 欧美xxxxxxxx| 91伊人久久大香线蕉| 久久国产精品久久久久久久久久| 成年人在线看片| 国产情侣久久| 国产成人无码精品久在线观看| 一本大道色婷婷在线| 午夜爽爽爽男女免费观看| 亚洲人体视频| 天天综合天天做| h视频免费在线观看| 香蕉免费一区二区三区在线观看| 亚洲免费黄色| 欧洲永久精品大片ww免费漫画| 小小的日本在线观看免费色网| 国产高清中文字幕在线| 欧美一级片免费观看| 在线精品亚洲一区二区不卡| 日本一区二区免费视频| 九色综合国产一区二区三区| 成人亚洲一区二区一| 密臀av在线播放| 国产污视频在线| 欧美精品18videos性欧| 中文字幕免费在线看线人动作大片| 99热这里只有精品2| 91成年人视频| 激情综合在线| 欧美三级自拍| 亚洲在线激情| 久久99精品久久久久婷婷| 天天做天天干天天操| 久久国产精品网| 亚洲视频在线观看一区二区| 欧美一级搡bbbb搡bbbb| 欧美日韩在线国产| 免费视频网站在线观看入口| 亚洲欧洲激情在线| 天天躁日日躁狠狠躁av| 日韩成人av电影在线| 精品无码av一区二区三区不卡| www免费在线观看| 99精品欧美一区二区三区| 国产精品国产三级国产专区53| 亚洲国产精品资源| 精品人妻一区二区三区四区在线| 羞羞视频在线观看欧美| 超薄肉色丝袜一二三| 欧美日韩在线视频免费| 欧美日韩一本| 91高清视频在线观看| 久久精品色妇熟妇丰满人妻| 国偷自产av一区二区三区麻豆| 欧美日韩国产精品一区二区三区| 这里只有精品丝袜| 亚洲国产日韩欧美综合久久| 精品一区二区成人精品| 无人视频在线观看免费| 中文精品久久久久人妻不卡| 亚洲视频综合| 亚洲激情 国产| 国产男人精品视频| 日本一区视频在线观看免费| 国产成人无码精品久久久性色| 美女18一级毛片一品久道久久综合| 欧美二三四区| 麻豆国产精品一区二区三区| 无码人妻h动漫| 狠狠干狠狠操视频|