Recherche…


Repository> Project> Site / Conf

Pour un projet Django avec des requirements et des deployment tools sous contrôle de source. Cet exemple s'appuie sur les concepts des deux scoops de Django . Ils ont publié un modèle :

repository/
    docs/
    .gitignore
    project/
        apps/
            blog/
                migrations/
                static/ #( optional )
                    blog/
                        some.css
                templates/ #( optional )
                    blog/
                        some.html
                models.py
                tests.py
                admin.py
                apps.py #( django 1.9 and later )
                views.py
            accounts/
                #... ( same as blog )
            search/
                #... ( same as blog )
        conf/
            settings/
                local.py
                development.py
                production.py
            wsgi
            urls.py
        static/
        templates/
    deploy/
        fabfile.py
    requirements/
        base.txt
        local.txt
    README
    AUTHORS
    LICENSE

Ici, les apps et les dossiers de conf contiennent respectivement user created applications et le core configuration folder pour le projet.

static dossiers static et templates dans le répertoire du project contiennent respectivement des fichiers statiques et des fichiers de html markup qui sont utilisés globalement tout au long du projet.

De plus, tous les blog , accounts et search dossiers d’application peuvent également contenir (principalement) des dossiers static et des templates .

Noms de fichiers statiques et de fichiers dans les applications django

static dossier static et templates dans les applications peut également contenir un dossier portant le nom de l'application ex. blog Ceci est une convention utilisée pour empêcher la pollution des espaces de noms, donc nous référençons les fichiers tels que /blog/base.html plutôt que /base.html qui fournit plus de clarté sur le fichier que nous référençons et préserve l'espace de noms.

Exemple: le dossier de templates dans search applications de blog et de search contient un fichier nommé base.html , et lorsque vous référencez le fichier dans les views votre application devient confuse dans quel fichier elle doit être rendue.

(Project Structure)
.../project/
    apps/
        blog/
            templates/
                base.html
        search/
            templates/
                base.html

(blog/views.py)
def some_func(request):
    return render(request, "/base.html")

(search/views.py)
def some_func(request):
    return render(request, "/base.html")

## After creating a folder inside /blog/templates/(blog) ##

(Project Structure)
.../project/
    apps/
        blog/
            templates/
                blog/
                    base.html
        search/
            templates/
                search/
                    base.html

(blog/views.py)
def some_func(request):
    return render(request, "/blog/base.html")

(search/views.py)
def some_func(request):
    return render(request, "/search/base.html")


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow