Проверьте, если user.is_authenticated
. Предполагая, что профили пользователей создаются автоматически при регистрации, попробуйте что-то вроде:
РЕДАКТИРОВАТЬ (попробуйте, это будет работать): попробуйте это, измените модель UserOrders, чтобы она напоминала эту ...
class UserOrder(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
product_name = models.CharField(max_length=30)
quantity = models.IntegerField(default=0)
url = models.URLField()
reorder = models.BooleanField()
def __str__(self):
return self.product_name
и модель вашего профиля будет выглядеть следующим образом:
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
social_site = models.URLField(blank=True)
def __str__(self):
return self.users.username
затем, по вашему мнению:
def your_view(request):
if request.user.is_authenticated:
profile = UserProfile.objects.get(user=request.user)
orders = UserOrders.objects.filter(user=request.user)
else:
pass # or do something else
return render(request, 'your_template.html', locals())
Проверьте, есть ли ордера на вашем_шаблоне. html:
{% if orders%}
{%for order in orders%}
{{order.id}} <!-- or interpolate something else like product_name -->
{%endfor %}
{%endif%}