Buscar..


Repositorio> Proyecto> Sitio / Conf.

Para un proyecto Django con requirements y deployment tools bajo control de código fuente. Este ejemplo se basa en los conceptos de las Dos cucharadas de Django . Han publicado una plantilla :

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

Aquí, las apps y las carpetas conf contienen user created applications y core configuration folder para el proyecto respectivamente.

static carpetas static y de templates en el directorio del project contienen archivos estáticos y archivos de html markup , respectivamente, que se usan globalmente a lo largo del proyecto.

Y todas las carpetas de aplicaciones de blog , accounts y search también pueden (en su mayoría) contener carpetas static y de templates .

Espacios de nombres, archivos estáticos y plantillas en aplicaciones django.

static carpeta static y de templates en las aplicaciones también debe contener una carpeta con el nombre de la aplicación ex. blog es una convención que se utiliza para evitar la contaminación del espacio de nombres, por lo que hacemos referencia a los archivos como /blog/base.html lugar de /base.html que proporciona más claridad sobre el archivo al que hacemos referencia y conserva el espacio de nombres.

Ejemplo: templates carpeta de templates dentro del blog y las aplicaciones de search contiene un archivo con el nombre base.html , y al hacer referencia al archivo en views su aplicación se confunde en qué archivo se procesa.

(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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow