Nejsem si jistý, jestli mohu pomoci, ale mám Mac, používám Django a měl jsem nějaké problémy s PostgreSQL, takže se podělím o své nápady.
Za prvé se mi zdá, že problém je skutečně ve spojení s databází, nikoli v kódu. Vyhledal jsem vaši chybu v kódu Django, říká:
def _get_response(self, request):
"""
Resolve and call the view, then apply view, exception, and
template_response middleware. This method is everything that happens
inside the request/response middleware.
"""
...
# Complain if the view returned None (a common error).
if response is None:
...
raise ValueError(
"The view %s.%s didn't return an HttpResponse object. It "
"returned None instead." % (callback.__module__, view_name)
)
I když rozhodně nejsem odborník na middleware, Django zjevně nepřijímá data z vaší databáze.
Jednou jsem měl problémy s různými verzemi PostgreSQL na svém Macu. Můžete zkontrolovat /Library/PostgreSQL, mám dva adresáře (11 a 12), takže si musím dávat pozor, který pro své projekty používám. V PgAdminu můžete vidět obě verze. Pokud máte staré verze nebo chcete přeinstalovat PostgreSQL (což je dost drastické, ale dalo by vám to čistý list), je zde dobrý manuál:https://medium.com/@zoefhall/effectively-uninstall-and-reinstall-psql-with-homebrew- on-osx-fabbc45c5d9d . Verzi, kterou vaše Django používá, můžete zkontrolovat zadáním Shell:
python3 manage.py shell -c "from django.db import connection; print(connection.cursor().connection.server_version)"
Pro mě je výsledek 110005, což znamená 11.0.5.
Také jsem měl několikrát problémy s psycopg2. Instalace je nezbytná, když nastavujete své virtuální prostředí s Django, takže pokud se vám to podařilo, pravděpodobně to proběhlo v pořádku. Problém, který jsem měl, byl, že nemohl najít konfigurační soubor a nejjednodušším řešením pro mě bylo nainstalovat binární verzi psycopg2-binary. Pokud ale chcete na Macu konkrétní verzi PostgreSQL, musíte do své PATH vložit soubor pg_config, viz https://www.psycopg.org/docs/install.html .
To jsem se naučil, doufám, že vám to trochu pomůže.