Zoeken…


Repository> Project> Site / Conf

Voor een Django-project met requirements en deployment tools onder bronbeheer. Dit voorbeeld bouwt voort op concepten uit de Two Scoops of Django . Ze hebben een sjabloon gepubliceerd :

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

Hier bevatten apps en conf mappen respectievelijk door de user created applications en de core configuration folder voor het project.

static mappen en templates in de project bevatten respectievelijk statische bestanden en html markup die wereldwijd in het hele project worden gebruikt.

En alle app-mappen blog , accounts en search kunnen ook (meestal) static mappen en templates bevatten.

Naamruimte voor statische en sjabloonbestanden in django-apps

static map en de templates in de apps moeten mogelijk ook een map bevatten met de naam van de app ex. blog Dit is een conventie die wordt gebruikt om vervuiling van de naamruimte te voorkomen, dus verwijzen we naar de bestanden zoals /blog/base.html plaats van /base.html Dit geeft meer duidelijkheid over het bestand waarnaar we verwijzen en behoudt de naamruimte.

Voorbeeld: templates map binnen blog en search toepassingen bevat een bestand met de naam base.html , en bij verwijzingen naar het bestand in views uw toepassing in de war raakt in welk bestand te maken.

(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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow