2012-01-14 45 views
2

前提:Django的註冊:什麼是先進的日期 '規範' 的方式延長 'contrib.auth.models.User'

1)環境:Django的1.3,Python 2.6中,開發:跨越多個平臺,督促:RHEL

2)我想讓網站的工作人員添加用戶(從管理網站)。他們只填寫一頁'用戶名','email','password1',密碼2'AND'first_name','last_name','phone','skype'。點擊「確定」即可完成。

3)我已經通過了文檔和網頁搜索,發現只有相當過時的來源,非工作思路和一些可能的工作,但應對修改Django的(我發現很難部署和維護源)

你有什麼建議以最乾淨(簡單,透明,簡單的方式)完成這項工作?

到目前爲止,這篇文章和它的評論是最有用的信息來源,我發現:http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/

感謝

+0

可能的重複[在django的auth用戶模型中創建名字,姓氏必需屬性而不是可選屬性](http://stackoverflow.com/questions/8466851/making-first-name-last-name-a-required -attribute-rather-an-optional-one-in) – 2012-01-14 09:54:07

+0

我不認爲任何官方django文檔都建議用戶模型的繼承,是嗎? – 2012-01-14 09:56:55

+0

是的,他們不會講太多。這就是我問的原因。 – tookanstoken 2012-01-14 10:15:38

回答

2

我相信這樣做的推薦方式是通過用戶配置:

#models.py 
class MySiteProfile(models.Model): 
    user = models.ForeignKey(User, unique=True) 
    join_date = models.DateField() 
    # and whatever additional fields you want 

#admin.py 
from django.contrib.auth.admin import UserAdmin 

admin.site.unregister(User) 

class MyUserAdmin(UserAdmin): 
    inlines = [MySiteProfileInline, ] 

admin.site.register(User, MyUserAdmin) 


#inlines.py 
class MySiteProfileInline(admin.TabularInline): 
    model = MySiteProfile 
+0

是的,推薦的方法是UserProfile,當然。但是,如果不修改django安裝中的其他文件,它不會解決問題,我懷疑這是推薦的。 – tookanstoken 2012-01-14 10:13:49

+0

我不明白。我以爲你說過你想讓所有與用戶有關的內容都可以在一個頁面上進行編輯?上面的代碼只是使用內聯。 – 2012-01-14 17:09:48

相關問題