Rozwiązywanie problemów¶
Ta strona zawiera porady dotyczące często występujących błędów i problemów podczas rozwijania aplikacji w Django.
Problemy z uruchomieniem django-admin
¶
„polecenie nie zostało znalezione: django-admin”¶
django-admin powinno być na twojej ścieżce systemowej, jeśli zainstalowałeś Django pip
-em. Jeśli nie ma go na twojej ścieżce, możesz znaleźć je w site-packages/django/bin
, gdzie site-packages
jest katalogiem wewnątrz twojej instalacji Pythona. Rozważ stworzenie dowiązania symbolicznego do django-admin z jakiegoś miejsca na twojej ścieżce, takiego jak /usr/local/bin
.
Jeśli django-admin
nie działa a django-admin.py
działa, prawdopodobnie używasz wersji Django, która nie jest zgodna z wersją tej dokumentacji. django-admin
zostało wprowadzone w Django 1.7.
Uprawnienia MacOS¶
Jeśli używasz MacOS, przy próbie uruchomienia django-admin
może się wyświetlić komunikat „permission denied”. To dlatego, że w systemach uniksowych takich jak macOS, plik musi być oznaczony jako „wykonywalny” zanim będzie mógł zostać uruchomiony jako program. Aby to zrobić otwórz Terminal.app i wejdź (używając komendy cd
) do katalogu, gdzie jest zainstalowany django-admin, następnie uruchom komendę sudo chmod +x django-admin
.
Rozmaite¶
Otrzymuję UnicodeDecodeError
. Co robię źle?¶
Ta klasa błędów występuje, gdy ciąg bitów zawierający sekwencje spoza ASCII jest przekształcany w ciąg znaków Unicode i wskazane kodowanie jest niepoprawne. Wyjście zazwyczaj wygląda w ten sposób:
UnicodeDecodeError: 'ascii' codec can't decode byte 0x?? in position ?:
ordinal not in range(128)
Rozwiązanie przede wszystkim zależy od kontekstu, jednakże są dwie pułapki powszechnie powodujące ten błąd:
- Twoim systemowym locale może być domyślne locale ASCII, takie jak locale „C” w systemach uniksopodobnych (można to sprawdzić poleceniem
locale
). Jeśli tak jest, sprawdź w dokumentacji swojego systemu jak możesz je zmienić na locale UTF-8.
Powiązane zasoby: