91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Django1.10 擴展User屬性增加頭像上傳功能

發布時間:2020-07-02 02:58:25 來源:網絡 閱讀:2999 作者:lihuipeng 欄目:開發技術

Django自帶的User模型沒有頭像和電話這兩項屬性,因此需要通過擴展User達到我們想要的效果,根據官方的文檔,擴展新字段到User只需要用one-to-one模型即可。


一、創建一個APP

python manage.py startapp CustomUser


二、在models里面創建用戶模型,使用one-to-one關聯User

from __future__ import unicode_literals

from django.db import models

# Create your models here.

from django.contrib.auth.models import User

class MyUser(models.Model):
    user = models.OneToOneField(User)
    phone = models.CharField(max_length=20, null=True, blank=True)
    avatar = models.ImageField(upload_to='photo', null=True, blank=True)


三、增加admin配置,admin后臺可以填寫這兩個新字段:

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User

from CustomUser.models import MyUser

# Define an inline admin descriptor for Employee model
# which acts a bit like a singleton
class EmployeeInline(admin.StackedInline):
    model = MyUser
    can_delete = False
    verbose_name_plural = 'myuser'

# Define a new User admin
class UserAdmin(UserAdmin):
    inlines = (EmployeeInline, )

# Re-register UserAdmin
admin.site.unregister(User)
admin.site.register(User, UserAdmin)

admin后臺效果:

Django1.10 擴展User屬性增加頭像上傳功能



四、修改settings User指向:

AUTH_PROFILE_MODULE = 'CustomUser.MyUser'


五、生成數據庫:

python manage.py makemigrations CustomUser
python manage.py migrations


六、上傳頭像需要media配置,故settings需增加配置:

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

在manage.py同一層新建media目錄


七、配置urls.py:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)


八、template上使用頭像:

<ul class="nav navbar-nav navbar-right">
   <li class="dropdown navbar-user">
      <a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown">
         <img src="{{ request.user.myuser.avatar.url }}" alt="" />
         <span class="hidden-xs">{{ request.user.username }}</span> <b class="caret"></b>
      </a>
      <ul class="dropdown-menu animated fadeInLeft">
         <li class="arrow"></li>
         <li><a href="javascript:;">編輯資料</a></li>
         <li><a href="javascript:;">重置密碼</a></li>
         <li class="divider"></li>
         <li><a href="{{ url('logout') }}">退出系統</a></li>
      </ul>
   </li>
</ul>



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东乡族自治县| 谢通门县| 普宁市| 禄丰县| 离岛区| 白玉县| 嘉祥县| 随州市| 集安市| 潮安县| 沈阳市| 周至县| 绥滨县| 修文县| 高唐县| 辽阳县| 阳朔县| 上思县| 兴山县| 通海县| 府谷县| 武威市| 同仁县| 会宁县| 内丘县| 朝阳县| 洛扎县| 来宾市| 济宁市| 洪湖市| 郓城县| 广宗县| 赤水市| 杭锦旗| 台江县| 滕州市| 伊金霍洛旗| 绥中县| 新野县| 瑞丽市| 台北市|