我正在使用開箱即用的django 1.5身份驗證解決方案。身份驗證後,我想用user_logged_in信號從django.contrib.auth.signals如何向經過驗證的用戶添加登錄後信息?
from django.contrib.auth.signals import user_logged_in
from django.dispatch import receiver
@receiver(user_logged_in)
def post_login_action(sender,user,request,**kwargs):
user.post_login_info = 'my post login information'
但是添加「post_login_info」給用戶,我不能從請求對象檢索user.post_login_info後如下:
from braces.views import LoginRequiredMixin
from django.views.generic import ListView
class MyListView(LoginRequiredMixin,ListView):
def get_queryset(self):
self.request.user.post_login_info # Attribute Error: 'User' object has no attribute 'post_login_info'
...
謝謝你的任何建議。
是什麼'post_login_info'? – karthikr
我有用戶和商店之間的多對多關係,她所以post_login_info應該是cur_login_store,如果她只屬於一個商店,很容易,因爲我不需要用戶交互來解決這個問題。如何處理用戶屬於多個商店的情況是另一個障礙,我沒有弄清楚,所以我繼續這個臨時解決方案(每個商店只允許一個用戶) –