Ta strona zawiera porady dotyczące często występujących błędów i problemów podczas rozwijania aplikacji w Django.
django-admin
¶django-admin powinno być na twojej ścieżce systemowej, jeśli zainstalowałeś Django przez python setup.py
. 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.
Jeśli używasz Mac OS X, możesz widzieć wiadomość „permission denied” próbując uruchomić django-admin
. To dlatego, że w systemach uniksowych takich jak OS X, plik musi być oznaczony jako „wykonywalny” zanim będzie mógł być uruchamiany jako program. Aby to zrobić otwórz Terminal.app i wejdź (używając komendy cd
) do katalogu, gdzie jest zainstalowane django-admin, następnie uruchom komendę sudo chmod +x django-admin
.
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:
Your system locale may be a default ASCII locale, like the “C” locale on
UNIX-like systems (can be checked by the locale
command). If it’s the
case, please refer to your system documentation to learn how you can change
this to a UTF-8 locale.
You created raw bytestrings, which is easy to do on Python 2:
my_string = 'café'
Either use the u''
prefix or even better, add the
from __future__ import unicode_literals
line at the top of your file
so that your code will be compatible with Python 3.2 which doesn’t support
the u''
prefix.
Powiązane zasoby:
kwi 04, 2017