Serwer Django zatrzymuje się natychmiast po zalogowaniu na stronie administratora

9

Próba zalogowania się na stronie administratora django natychmiast po kliknięciu przycisku logowania serwer django zatrzymuje się

Nowość w Django, próbująca utworzyć projekt w środowisku wirtualnym przy użyciu venv. Są to następujące kroki, które zrobiłem.

1. utworzył folder o nazwie api

2. stworzył środowisko wirtualne za pomocą python -m venv vapi

3. zainstalował django i przeprowadził początkowe migracje, a następnie utworzył superużytkownika

pip install django
django-admin startproject library .
python manage.py migrate
python manage.py createsuperuser

teraz próbował zalogować się do strony administracyjnej django

Nie zmieniłem niczego w pliku setting.py

przy użyciu domyślnej bazy danych sqllite db

python 3.7 django-admin 3.0

naveen kumar
źródło

Odpowiedzi:

3

Oto rozwiązania, jak rozwiązać ten problem.

Uprzejmości. Te rozwiązania działają, jeśli masz Django v3 . Nie napotkałem tego samego problemu w przypadku Django v2 itd. Więc proszę sprawdź swoją wersję Django, a jeśli nie masz v3 , ta odpowiedź prawdopodobnie ci nie pomoże. Przepraszam.

1) możesz obniżyć wersję Django do v2 +

ale nie lubię tego, ponieważ wolę korzystać z najnowszych wersji wszystkiego

2) zaktualizuj wersję Pythona do 3.8.0 i powinno to pomóc . (W ten sposób rozwiązałem ten problem)

Sugeruję użycie czegoś takiego jak pakiet pyenv , jeśli masz inne projekty, które zależą od twojej poprzedniej wersji Pythona. Dzięki temu pakietowi możesz po prostu przełączać wersje Pythona, gdy potrzebujesz pracować nad projektami wymagającymi różnych wersji Pythona. Chciałbym również zasugerować, abyś używał venv do swoich projektów, aby utrzymać swoje zależności w izolacji. Używanie innego środowiska jest dobrą praktyką w przypadku programowania w języku Python.

Mam nadzieję, że to pomoże. Z poważaniem.

Velidan
źródło
2

Zmieniłem teraz wersję Django z 3.0 na 2.2.8, która działa dobrze, może to być problem w Django 3.0.

naveen kumar
źródło
2

Napotkałem ten sam problem z wersją Python 3.7.0. Wygląda na to, że jest już bilet . Aktualizacja Pythona do wersji 3.7.6pomogła mi rozwiązać ten problem:

# Updating version via pyenv
$ pyenv install 3.7.6

Tworzenie nowego virtualenv za pomocą pipenv(pamiętaj, aby wyczyścić stary venv, jeśli to konieczne):

$ pipenv --rm
$ pipenv install --dev
Creating a virtualenv for this project
Pipfile: /home/homeuser/projects/django_rest/Pipfile
Using /home/homeuser/.pyenv/versions/3.7.6/bin/python3 (3.7.6) to create virtualenv
...
dewialny
źródło
1

django wersja 3.0.1 nie pomogło. wersja 2.2.8 działa dobrze. ale znajduję sposób, aby uzyskać dostęp do witryny administratora bez awarii serwera. zaloguj się na stronie głównej lub stronie głównej aplikacji w witrynie administratora zatrzymuje serwer. ale możesz zalogować się do takich adresów URL: http://127.0.0.1:8000/admin/YourAppsName/YourModelsName/

ale nadal przejście do strony głównej aplikacji powoduje awarię serwera.

m.rt
źródło
Dokładnie ten sam problem
Ben Rogers
0

Mam do czynienia z tym samym problemem, myślę, że tak jest i problem z serią django 3.xx

Ekene Mefor
źródło
0

Mam do czynienia z tym samym problemem, myślę, że może to być problem z serią django 3.xx, po uruchomieniu Python manage.py runserver, a następnie przejściu do zatrzymania administracyjnego serwera URL

Ekene Mefor
źródło
Zrozumiałem, na czym polega problem, uprzejmie upewnij się, że używasz Pythona w wersji 3.8, a także upewnij się, że kompilacja Pythona jest zgodna z kompilacją komputera (tzn. 64-bitowy komputer powinien używać 64-bitowej kompilacji Pythona i odwrotnie). Myślę, że jest błąd w Pythonie 3.7. 3.8 zrobił dla mnie magię. A także w moim przypadku zainstalowałem 32-bitową wersję Pythona.
Ekene Mefor
0

Spróbuj obniżyć Django do 2.2.11. To zadziałało dla mnie

dee
źródło
-1

Aby rozwiązać ten problem, użyj Django 2.2

W typie terminala.

pip install django==2.2
Durjoy
źródło
OP stwierdził, że już używa Django 3.0
hedgie