Czy istnieje konwencja nazewnictwa dla aplikacji Django
Czy istnieje preferowana konwencja nazewnictwa dla tworzenia aplikacji Django składającej się z więcej niż jednego słowa? Na przykład, która z poniższych opcji jest preferowana?
my_django_app
-
Update: niedozwolone składniowomy-django-app
-
mydjangoapp
zalecane rozwiązanie
Podczas gdy wszystkie z nich mogą być opcje 1 i 3 są dozwolone składniowo, czy są jakieś preferencje? Patrząc na sposób, w jaki Django tworzy nazwy tabel przez łącząc nazwę aplikacji i nazwę modelu z podkreśleniem, opieram się na opcji # 1.
3 answers
Muszą być poprawnymi nazwami pakietów. To wyklucza 2 ("import my-django-app" byłby błędem składni). PEP 8 says:
Moduły powinny mieć krótkie nazwy z małymi literami. Podkreślniki mogą być używane w nazwie modułu, jeśli poprawia czytelność. Pakiety Pythona powinny mają również krótkie, pisane małymi literami nazwy, chociaż użycie podkreślników jest zniechęcony.
Tak więc 1 i 3 są ważne, ale 3 byłoby zalecanym podejściem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-23 13:12:46
Nazwy katalogów aplikacji muszą być poprawną nazwą pakietu Pythona. Oznacza to, że opcja 2 jest całkowicie niedopuszczalna jako Nazwa pakietu, chociaż nadal może być używana do innych celów, takich jak dokumentacja. W końcu sprowadza się to do osobistego stylu. Jeśli wolisz opcję 3, Użyj jej.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-23 07:28:46
Moje głosy na 1 i 3, ale możesz sprawdzić kilka popularnych aplikacji: http://www.django-cms.org/ http://geodjango.org/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-23 07:23:30