我正在研究具有三個「配置文件」模型類型的應用程序。這些模型中的每一個都有contrib.auth.models用戶模型的外鍵。從auth.models.User獲取相關模型類
我想每個模型類型都有單點登錄,並通過classmethod提供重定向,具體取決於哪個「模型」模型類型與登錄用戶相關。
下面是一些僞代碼來說明我想做些什麼:
from django.contrib.auth import authenticate, login
from django.http import HttpResponse, HttpresponseRedirect
from lib.forms import Loginform #extends the built-in AuthenticationForm
def login_user(request):
if request.method == 'POST':
form = LoginForm(data=request.POST)
if form.is_valid():
cleaned_data = form.cleaned_data
user = authenticate(username=cleaned_data.get('username'), \
password=cleaned_data.get('password'))
if user:
login(request, user)
#Determine the content type of the model related to the user
#get the correct redirect value from an @classmethod
#called: after_login_redirect for that type and...
return HttpResponseRedirect(klass.after_login_redirect())
else:
response = form.errors_as_json()
return HttpResponse(json.dumps(response, ensure_ascii=False), \
mimetype='application/json')
是否可以充分利用CONTENTTYPES框架來做到這一點?或者我最好只寫一個循環遍歷「配置」類的數組的類解析器?我沒有看到我可以通過User類的ContentTypes來做到這一點,除非有人知道解決方法。
由於提前, 布蘭登
我發現這篇文章:http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/我敢去看看我能否修改以適應我的需求。 – Brandon 2011-03-17 21:48:53