2009-06-25 15 views
8

Tak Mam projektu django Właśnie stworzył zwana „coolprojectsite” struktura katalogów wygląda mniej więcej następująco:Django układ katalogów wyjaśnienie

* media (dir) 
* mytemplates (dir) 
* * admin (dir) 
* * coolprojects (dir) 
* coolprojectsite (dir) 
* * coolproject (dir) 
* * * __init__.py 
* * * admin.py 
* * * models.py 
* * * tests.py 
* * * urls.py 
* * * views.py 
* * __init__.py 
* * settings.py 
* * urls.py 

więc mam kilka pytań.

1) Czy coolprojectsite uważany za 'projekt'

2) Czy coolproject uważany za 'wniosek'

3) 'media' zawiera pliki CSS, javascript itp Czy to jest właściwe miejsce dla nich ? Jest poza projektem.

4) 'mytemplates' zawiera określone pliki zawierające znaczniki Django (np. {%%}) I są one dostępne, ponieważ mój adres urls.py wskazuje na nie. Czy właściwe jest posiadanie tych plików poza projektem?

5) Jeśli chcę dołączyć dowolny dowolny plik javascript (np. Jquery), czy po prostu utworzę nowy wpis w urls.py (jeśli tak, to czy to w coolprojectsite lub coolproject), a następnie link do tego adres URL?

+0

Pytanie. Czy nie umieścisz media/i CSS etc nad webrootem i wszystkimi innymi poniżej? – tristanbailey

Odpowiedz

9
  1. "Projekt" nie jest tak naprawdę użyteczną koncepcją w Django. Wspomina o tym samouczek Django, ale programiści często wspominali na listach dyskusyjnych, że nie chcieliby go wprowadzić. Zasadniczo projekt jest tylko kontenerem dla twojego kodu - ale w rzeczywistości kod może żyć w dowolnym miejscu na ścieżce Pythonpath.

  2. Tak, i można mieć wiele aplikacji, o ile wszystkie zostały dodane do INSTALLED_APPS w settings.py.

  3. Nie ma znaczenia, gdzie mieszkają. Będziesz potrzebował czegoś, aby im służyć - w fazie rozwoju można to zrobić za pomocą wbudowanego serwera, ale w produkcji musisz wskazać Apache (lub cokolwiek innego) bezpośrednio na pliki.

  4. Nie ma znaczenia. To widoki ładują szablony i tak długo, jak TEMPLATE_DIRS jest poprawnie ustawiony w settings.py, jest to w porządku.

  5. Nie, absolutnie nie. Jak wspomniano, zasoby statyczne znajdują się w folderze multimediów i nie są udostępniane za pośrednictwem Django.

+6

Osobiście uważam "projekt" za przydatną koncepcję. Przede wszystkim są projekty, nad którymi ogólnie pracuję - to jest rezultat. Dlatego przechowuję mój katalog zasobów statycznych i katalog szablonów w katalogu z plikami ustawień, root URLconf, często kilka jednorazowych aplikacji specyficznych dla projektu, umieszczam wszystko pod kontrolą wersji i nazywam to "projektem". Nie wydaje mi się, żeby było w tym coś złego. Kluczową sprawą jest uświadomienie sobie, że w Django nie ma nic "magicznego" na temat określonego katalogu, możesz ustawić wszystko tak, jak tylko pasuje do twojego przepływu pracy i sprawić, by działał. –