Django
Estructura del proyecto
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")