def get_queryset(self):
queryset = super().get_queryset().all( ).annotate(comment_count=Count("comments"))
# Проверяем пользователь авторизованный или нет
user_queryset = None
if self.request.user.is_authenticated
user_queryset = queryset.filter(author=self.request.user)
# Проверяем что пользовательский список вернул пустоту ИЛИ пользователь не авторизирован
if not user_queryset or not self.request.user.is_authenticated: # либо можно так - if not len(user_queryset):
queryset = queryset.filter(category__is_published=True,
is_published=True,
pub_date__lte=timezone.now())
# Если второй иф не сработал, значит нам важен список полученный в первом.
# Приравниваем его к основному
else:
queryset = user_queryset
return queryset
server {
listen 80;
server_name www.project1.ru project1.ru;
location / {
proxy_pass http://localhost:80;
}
}
syschel@ubuntuPC:~$ ping bitbucket.org
PING bitbucket.org (18.234.32.156) 56(84) bytes of data.
^C
root@syschel:~# ping 18.234.32.156
PING 18.234.32.156 (18.234.32.156) 56(84) bytes of data.
^C
--- 18.234.32.156 ping statistics ---
11 packets transmitted, 0 received, 100% packet loss, time 10219ms
root@syschel:~# ping bitbucket.org
PING bitbucket.org(2406:da00:ff00::22c0:3470 (2406:da00:ff00::22c0:3470)) 56 data bytes
64 bytes from 2406:da00:ff00::22c0:3470 (2406:da00:ff00::22c0:3470): icmp_seq=1 ttl=40 time=89.5 ms
64 bytes from 2406:da00:ff00::22c0:3470 (2406:da00:ff00::22c0:3470): icmp_seq=2 ttl=40 time=85.5 ms
64 bytes from 2406:da00:ff00::22c0:3470 (2406:da00:ff00::22c0:3470): icmp_seq=3 ttl=40 time=85.3 ms
64 bytes from 2406:da00:ff00::22c0:3470 (2406:da00:ff00::22c0:3470): icmp_seq=4 ttl=40 time=85.4 ms
^C
--- bitbucket.org ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3117ms
rtt min/avg/max/mdev = 85.339/86.414/89.450/1.753 ms
Надеюсь вы понимаете, что режим runserver это только для запуска на локальной машине, в режиме разработчика?
Для запуска джанги на сервере где-то во внешнем мире, запуск через runserver не просто плохо, это табу! Нужно через (u)wsgi запускать или асинхронную версию. То есть внутри контейнера ставим nginx и через него светим 80м портом во вне. Либо вне контейнера докера слушаем nginx`ом порт контейнера и уже им во вне через 80й с самого сервера отвечаем.