Aquí es cookiecutter-Django plantillas de diseño del proyecto.
Otro modelo de proyecto similar a ser aquí encontrado.
Django 1.8 diseño predeterminado genera
comando de construcción:
$ django-admin.py startproject mysite
$ cd mysite
$ django-admin.py startapp my_app
diseño generada:
mysite/
manage.py
my_app/
__init__.py
admin.py
models.py
tests.py
views.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
cookiecutter-django diseño del proyecto
<repository_root>/
<django_project_root>/
<configuration_root>/
Nivel superior: Almacén directorio raíz <repository_root>
<Repository_root> es el directorio raíz de todos los archivos en el proyecto, que además de colocar <django_project_root> , también se coloca una serie de otros elementos clave, como README.rst , docs / directorio, .gitignore , requirements.txt de archivos y otros documentos de implementación relacionados y así sucesivamente.
Se debe ejecutar en el directorio django-admin.py startproject
para crear un proyecto de Django (como la creación directorio raíz del proyecto <django_project_root> )
La segunda capa: la raíz del proyecto <django_project_root>
Este directorio es el directorio raíz del proyecto Django real, todos los archivos de código Python se colocan en el <django_project_root> bajo sus subdirectorios.
Tercera capa: perfil raíz <configuration_root>
El directorio raíz contiene módulos y la configuración de URLconf ( el urls.py ). El directorio debe ser un paquete de Python válida (incluyendo el init archivo .py).
Archivo en el directorio raíz del perfil están hechas django-admin.py startproject
de comandos creado.
Ejemplo de composición proyecto
icecreamratings_project/
.gitignore
Makefile
docs/
README.rst
requirements.txt
icecreamratings/
manage.py
media/ # Development ONLY!
products/
profiles/
ratings/
static/
templates/
config/
__init__.py
settings/
urls.py
wsgi.py
Lo cual, icecreamratings_project es decir <repository_root> .
Otro archivo / directorio se describe como sigue:
Archivo o directorio | El propósito
---------------------- |
README.rst y docs / | documentación del proyecto
Makefile | contiene algunas macros simples o tareas de implementación, complejo se puede utilizar para implementar la invocación , pavimentadora y Tela
requirements.txt | dependencias del proyecto de lista
icecreamratings / directorio | <django_project_root> directorio corresponde
En icecreamratings_project / icecreamratings / dentro del directorio, es decir, <django_project_root> dentro del directorio, los siguientes archivos / directorios:
Archivo o directorio | El propósito
---------------- |
manage.py | Django generada por defecto, no se cambian
los medios de comunicación / | sólo para el entorno de desarrollo: archivo estático generado por el usuario, tales como la carga fotos y así sucesivamente. proyecto a gran escala desplegará archivos estáticos por separado de
estática / | no generado por el usuario en archivos estáticos, tales como CSS, JavaScript, imágenes y así sucesivamente. proyecto a gran escala desplegará archivos estáticos por separado de
los productos / directorio | un directorio de aplicaciones Django
perfiles / directorio | otra Django APP directorio
calificaciones / directorio | otra Django APP directorio
templates / | directorio de plantillas de Django a nivel de proyecto
¿Cómo lidiar con virtualenv?
NO directorio virtualenv y archivos de proyecto en conjunto, debe ser incluida en un directorio unificado separado.
Todos los archivos dependientes se escriben en la información requirements.txt , por lo tanto, no hay necesidad de catalogar los contenidos de virtualenv añadido a la gestión de control de versiones.
Por ejemplo, para el proyecto:
En Mac OS X y Linux, el directorio del proyecto correspondiente y el directorio virtualenv pueden ser:
~/projects/icecreamratings_project/
~/.envs/icecreamratings/
En el triunfo, el directorio del proyecto correspondiente y el directorio virtualenv pueden ser:
c:\projects\icecreamratings_project\
c:\envs\icecreamratings\
Si utiliza utilizando virtualenvwrapper (Mac OS X o Linux) o virtualenvwrapper-ganar (Windows), entonces el directorio raíz virtualenv sería "~ / .virtualenvs /", que corresponde al directorio virtualenv elemento serían: ~/.virtualenvs/icecreamratings/
.
Listar todas las dependencias ambientales actuales:
$ pip freeze --local
startproject plantilla de proyecto mediante el uso de cookiecutter
cookiecutter-django soportes Python 2.7+ y 3.3+, Django 1.8 +.
- cookiecutter instalación:
$ pip install cookiecutter
- Ejecutar cookiecutter, y especificar la ruta de acceso a la plantilla utilizada para construir el proyecto:
$ cookiecutter https://github.com/pydanny/cookiecutter-django
Durante el funcionamiento del proyecto le preguntará el nombre del proyecto correspondiente, la configuración de base de datos y otra información de configuración.
Ejecutar ejemplo:
Cloning into 'cookiecutter-django'...
remote: Counting objects: 2358, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 2358 (delta 4), reused 0 (delta 0), pack-reused 2346
Receiving objects: 100% (2358/2358), 461.95 KiB, done.
Resolving deltas: 100% (1346/1346), done.
project_name (default is "project_name")? icecreamratings
repo_name (default is "icecreamratings")? icecreamratings_project
author_name (default is "Your Name")? Daniel
and Audrey Roy Greenfeld
email (default is "[email protected]")? [email protected]
description (default is "A short description of the project.")? A website
for rating ice cream flavors and brands.
domain_name (default is "example.com")? icecreamratings.audreyr.com
version (default is "0.1.0")? 0.1.0
timezone (default is "UTC")? America/Los_Angeles
now (default is "2015/01/13")? 2015/05/18
year (default is "2015")?
use_whitenoise (default is "y")?
github_username (default is "audreyr")? twoscoops
full_name (default is "Audrey Roy")? Daniel and Audrey Roy Greenfeld
- Generada en el directorio del proyecto
$ cd icecreamratings_project
- Crear un repositorio git
$ git init
$ git add .
$ git commit -m "first awesome commit"
$ git remote add origin [email protected]:somebody/icecreamratings.git
$ git push -u origin master
Otra olvide de cambiar el archivo README.rst.
Referencias: dos bolas de la Django: Las mejores prácticas para el Django 1.8