[英]How to find Only the logged in user content in django?
class User(auth.models.User,auth.models.PermissionsMixin):
def __str__(self):
return '@{}'.format(self.username)
class placement(models.Model):
name=models.CharField(max_length=150, blank=True, null=True)
ad_space=models.CharField(max_length=100, blank=False, null=False)
PID_TYPE = (
('FN','FORMAT_NATIVE'),
('FNB','FORMAT_NATIVE_BANNER'),
('FI','FORMAT_INTERSTITIAL'),
('FB','FORMAT_BANNER'),
('FMR','FORMAT_MEDIUM,RECT'),
('FRV','FORMAT_REWARDED_VIDEO'),
)
format = models.CharField(max_length=3,choices = PID_TYPE,default = 'FN',blank=False, null=False)
pid=models.CharField( max_length=50,default='',blank=False, null=False)
cpm=models.IntegerField(default=0,blank=False, null=False)
ADS_TYPE=(
('FB','FACEBOOK'),
('G','GOOGLE'),
)
source=models.CharField(max_length=2,choices=ADS_TYPE,default='FB',blank=False, null=False)
comments=models.TextField(default='',blank=False, null=False)
objects=models.Manager()
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse("dashapp:disp")`
Now what should i do to only get only the logged in user content to be displayed on the template.As currently all the stored data is being fetched . 现在我该怎么做才能只将登录的用户内容显示在模板上。目前,所有已存储的数据都将被提取。 That is logged out user for data is being displayed.
该注销用户正在显示数据。 I'm Basically a beginner so i dont have any advance idea about this.
我基本上是一个初学者,所以我对此没有任何高级想法。 Full explanation are needed.
需要完整的解释。
You can access the logged in user like this: 您可以像这样访问登录的用户:
{% if user.is_authenticated %}
<p>Welcome, {{ user.username }}. Thanks for logging in.</p>
{% else %}
<p>Welcome, new user. Please log in.</p>
{% endif %}
In django, the logged in user has an attribute is_authenticated
which is a boolean value. 在django中,已登录用户的属性
is_authenticated
是一个布尔值。 If user is logged in, it gives True
, else False
. 如果用户登录,则返回
True
,否则返回False
。
If you meant to see the placement
model values in template for current user, you need make some relations with the user to placement
. 如果你的意思是看到
placement
在模板模型值当前用户,则需要做出与用户关系的一些placement
。 So you need to update the placement model: 因此,您需要更新展示位置模型:
class placement(models.Model):
user = models.ForeignKey(User, null=True, default=None)
.... # rest of the fields
And save user info to placement in views: 并将用户信息保存到视图中的位置:
class SomeCreateView(CreateView):
...
def form_valid(self, form):
form.instance.user = User.objects.get(id = self.request.user.id)
return super(SomeCreateView, self).form_valid(form)
and get placements of a user in view like this: 并在这样的视图中获取用户的展示位置:
placements = placement.objects.filter(user=request.user)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.