Какова наилучшая практика структурирования шаблонов в вашем проекте Django? - PullRequest
0 голосов
/ 13 декабря 2018

Я знаю, что есть много вопросов относительно наилучшей практики структурирования всего проекта Django, но я не могу найти конкретного объяснения о том, как структурировать шаблоны для проекта Django.

Очевидно, я простоя начал изучать Python / Django, и я совершенно сбит с толку, почему в большинстве найденных мной руководств и примеров имя каталога в каталоге шаблонов всегда совпадает с именем каталога приложений.

Например:

gazette/
    __init__.py
    models.py
    views.py
    static/
        ...
    templates/
        gazette/
            __base.html
            __l_single_col.html
            __l_right_sidebar.html
            __l_left_sidebar.html
            _article_full.html
            _article_summary.html
            _author_list.html
            _author_name.html
            _category_list.html
            _navigation.html
            _tag_list.html
            article_detail.html
            article_list.html
            author_list.html
            category_list.html
            tag_list.html

это на самом деле взято из блога: https://oncampus.oberlin.edu/webteam/2012/09/architecture-django-templates

В приведенной выше структуре приложения каталог gazette / содержит каталог templates / .В свою очередь, в templates / есть один каталог с именем gazette / , который совпадает с именем каталога приложения, в котором он содержится.В этой папке находятся фактические файлы шаблонов HTML.

Вопрос: Почему нельзя просто поместить все файлы шаблонов HTML непосредственно в каталог templates / ?Я бы понял логику структуры, если бы в папке с шаблонами было несколько каталогов.Тем не менее, я не нашел ни одного примера из каких-либо учебных пособий на YouTube или в блогах, где показана структура проекта, в которой есть несколько каталогов в каталоге шаблонов.Вместо этого они должны назвать свой единственный каталог (в шаблонах) так же, как каталог приложения.

Если бы вы могли объяснить принцип, лежащий в его основе, и направить меня к любой ссылке / ссылке, я был бы очень признателен.

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 13 декабря 2018

Одной из альтернатив для хранения шаблонов является хранение шаблонов каждого приложения в каталоге шаблонов приложения.

Таким образом, структура проекта будет выглядеть примерно так

 Project  
     app1  
         templates  
             app1  
                 template1.html  
                 template2.html  
     app2 
         templates  
             app2  
                 template1.html

Таким образом, вы можете отобразить шаблон из представления, передав 'app1 / templates1.html'

0 голосов
/ 13 декабря 2018

Ваш шаблон проекта Django в конце дня - это личный выбор, да, есть известные шаблоны, которые оптимизируют ваш рабочий процесс для большинства проектов, но в конце дня каждый проект индивидуален, например, это шаблон, который яиспользуйте, когда я работаю для кого-то, кто ожидает, что я буду следовать рекомендациям

Project
    app1
    app2
    ..etc
    static
        app1
            images
            css
            js
        app2
            ...etc
    templates
        app1
            file.html
            ...etc
        app2
        ..etc
    log_files
        app1_info.log
        app2_info.log
        app1_erros.log
        ..etc

это потому, что философия Django основана на разделении, Django строится вокруг поощрения модульности

, когда я работаюв личных проектах мне нравится смешивать все, потому что даже если я использую разные приложения для разных вещей, у меня все равно будет одинаковый стиль и одинаковые шаблоны для большинства из них.

...