1
我试图在模板中显示模型数据。 当我没有任何过滤,它工作正常!Django:使用基于类的通用视图访问模板中的模型数据
class UserLogList(ListView):
context_object_name = 'data'
queryset = UserLog.objects.all().values('user_id__username','event_id','time')
但是,如果我想有一些过滤,例如,如果我想基础上,USER_ID其中USER_ID = 1。我可以从request
对象或self.request
对象获得用户ID来获得详细信息。
因此,要实现这一点,我做了下面的我views.py
class DisplayUserActivity(ListView):
template_name = 'user_activity.html'
uid = self.request.user.id
def get_object(self):
uid = self.request.user.id
object = super(DisplayUserActivity,self).get_object()
object.data = UserLog.objects.filter(user_id = uid).values('user_id__username','event_id','time')
return object
和我template
文件:
{% block content %}
<h2> Logs </h2>
<table border="1" style="width:50%">
<tr>
<th> User Name </th>
<th> Description </th>
<th> Time </th>
</tr>
{% for user in data %}
<tr>
<td> {{user.user_id__username}}</td>
<td> {{user.event_id}}</td>
<td> {{user.time}} </td>
{% endfor %}
</tr>
</table>
{% endblock %}
我缺少什么?
我试过了,没有打通! '高清get_queryset(个体经营): 的uid = INT(self.request.user.id) context_object_name =“返回UserLog.objects.all()' – theblackpearl 2014-09-30 22:32:09
@RohitPujar您的代码格式化搞砸了,我看不懂它。但是我刚刚在你的原始答案'uid'上注意到的一个问题不在范围内,你需要在get_queryset方法中使用'self.request.uid',就像@alecxe指出的那样 – michaelb 2014-09-30 22:34:27
对不起,错过了这个问题。虽然这不是问题! – theblackpearl 2014-09-30 22:56:06