我正在尝试访问当前用户信息以过滤客户端的项目,但我遇到了错误。
我想我必须采用不同的方式来请求当前用户的信息。我使用的是:self.kwargs.request.user。
使用self.request.user时出现错误我得到此错误get_context_data()缺少1个必需的位置参数:'user'
我的url.py
url(r'^update/(?P<pk>[0-9]+)/$', views.CampaignUpdate.as_view(), name='update_campaign'),
属性错误 'dict'对象没有属性'request'
class CampaignUpdate(generic.UpdateView):
model = Campaign
fields = [.....]
template_name = 'campaign/campaign.html'
success_url = '../../'
def get_context_data(self, *args, **kwargs):
context = super(CampaignUpdate, self).get_context_data(**kwargs)
items = items.objects.get(client= self.kwargs.request.user)
答案 0 :(得分:1)
使用以下代码获取当前用户&#39;项目&#39;宾语。
class CampaignUpdate(generic.UpdateView):
model = Campaign
fields = [.....]
template_name = 'campaign/campaign.html'
success_url = '../../'
def get_context_data(self, *args, **kwargs):
context = super(CampaignUpdate, self).get_context_data(**kwargs)
context['items'] = Items.objects.get(client= self.request.user)
return context
如果您想要获得&#39;广告系列&#39;,您只需访问自我对象行作为其UpdateView
答案 1 :(得分:0)
def get_context_data(self, *args, **kwargs):
到
def get_context_data(self, form_class=None, **kwargs):
它工作正常,即使我不知道为什么......