¿Cómo el diseño del proyecto de Django con cookiecutter-django

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 startprojectpara 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 startprojectde 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 +.

  1. cookiecutter instalación:
$ pip install cookiecutter
  1. 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
  1. Generada en el directorio del proyecto

$ cd icecreamratings_project

  1. 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

Supongo que te gusta

Origin www.cnblogs.com/haiiiiiyun/p/12558587.html
Recomendado
Clasificación