ccnmtldjango

Software captura de pantalla:
ccnmtldjango
Detalles de software:
Versión: 1.2.0
Fecha de carga: 20 Feb 15
Promotor: Anders Pearson
Licencia: Libre
Popularidad: 0

Rating: 1.0/5 (Total Votes: 1)

ccnmtldjango es una plantilla Pega que utilizamos para reemplazar el comando estándar startproject django-admin.py.
Lo hace la misma tarea básica de la creación de una estructura de directorios para una aplicación de Django, pero se ha extendido a aplicar una gran cantidad de funcionalidades específicas CCNMTL y configuración.
Lo que ofrece por nosotros hace eso startproject no:
- Django viento (un puente Django con el servicio de autenticación central de Columbia - http://www.jasig.org/cas/deployments/columbia-university) está incluido y configurado de forma predeterminada para nuestras aplicaciones pueden utilizar el viento para autenticación automáticamente. Es decir, cualquier persona con un Columbia UNI por defecto tendrá una cuenta. Los UNI desarrollador CCNMTL se configuran automáticamente como superusuarios, y el AFFIL grupo que el personal CCNMTL todos han se asignan automáticamente al personal. Estos son los valores predeterminados generalmente útiles para nosotros.
- Virtualenv y configuración pip con archivos de código fuente en paquete y bootstrappable, tinglado de manage.py configurar para usarlo. Esto básicamente encaja en nuestro enfoque de despliegue y de contención automatizado de un solo paso.
- Sorl.thumbnail (una biblioteca thumbnailing imagen excelente práctico) se incluye por defecto
- Flatpages habilitadas
- Ajustes divididos por dev / prod
- Apache / django.wsgi configurado
- Config muestra apache para la configuración mod_wsgi utilizando entornos virtuales (todo se hace más eficiente a fin de que sólo podemos enlazar simbólicamente el archivo de configuración de Apache generada en nuestro servidor de producción / etc / apache / sites-enabled / y es bueno para ir)
- Dirs medios para dev y prod configurados
- Smartif incluido (https://github.com/thraxil/django-smartif/tree/master)
- Template_utils incluidos (http://code.google.com/p/django-template-utils/), así como feedparser, que depende de alimentación para la materia
- Django-typogrify incluido (http://code.google.com/p/typogrify/) junto con smartypants.py (que utiliza)
- Django-centinela incluido (https://github.com/dcramer/django-sentry) y configurado para nuestra configuración
- Django-munin incluido (https://github.com/ccnmtl/django-munin)
- Sur se incluye para las migraciones de bases de datos
- Se incluye-django molesto (me gustarender_to)
- Django-nariz instalado y configurado como corredor de prueba (mucho mejor!)
- Sqlite en memoria de base de datos utilizada para las pruebas unitarias
- Pruebas sur saltan automáticamente en la prueba ./manage.py (se rompen)
- Django_compressor agregado y configurado para comprimir css sobre la producción
- Uuid.py
- JQuery (1.4.2, minified) incluido
- hs.js
- tabber.js
- widget.js
- tablesort.js
- CSS requerido para las bibliotecas js anteriores está incluido en el site.css por defecto
- Plantillas base incluidas
- Admin django permitido (y autenticado con WIND para tlc)
- Restclient
- Httplib2
- ImageUploader
- Reducción del precio está incluido y activado
- Base de datos por defecto en postgresql (causa MySQL es teh chupar)
- Middleware transacción activado por defecto (la corrupción de datos causa es teh chupar)
- Set zona horaria
- I18n apagado (somos desgraciadamente monolingüe no tiene sentido negarlo.)
- PIL
- Psycopg2 (despojado de su dependencia mx.DateTime)
- Un diseño de plantilla predeterminada agradable con plantillas base alternativos para el diseño de varias columnas.
Para utilizar ccnmtldjango, necesita python 2.6+, virtualenv, pip, y un reciente setuptools instalados en su máquina.
En primer lugar, si usted no tiene ya instalado ccnmtldjango, hacer
& Nbsp; easy_install ccnmtldjango
Debe extraer automáticamente las dependencias necesarias (sólo PasteScript, en realidad).
Ejecutar
& Nbsp; parche crear --list-plantillas
debe incluir ccnmtldjango
Ahora, para iniciar rápidamente un proyecto Django, hacer
& Nbsp; parche crear --template = ccnmtldjango myprojectname
myprojectname debe ser un nombre de módulo de python (es decir, en minúsculas, sin puntuacion, etc). Se va a crear una llamada myprojectname directorio que tiene un proyecto de Django en el mismo.
parche todavía no hace nada con los permisos de archivos, por lo que aún necesita para establecer manualmente una pareja:
& Nbsp; myprojectname cd
& Nbsp; chmod 755 bootstrap.py manage.py
Yo no podía entender una forma de insertar cadenas aleatorias en el código a través de plantillas Pegar, por lo que una cosa que ccnmtldjango no se encuentra frente a una startproject django regular es que la variable SECRET_KEY en settings_shared.py es siempre el mismo defecto. Eso no es claramente una buena idea, así que asegúrese de que usted cambia a alguna otra cadena aleatoria que será único para su proyecto.
Esto es probablemente un buen punto para comprobar el proyecto en el control de versiones.
Utilizamos contención para Django también, con virtualenv:
& Nbsp; ./ bootstrap.py
Esto creará un directorio de cinco que contiene un virtualenv y ha tenido todas las bibliotecas en el directorio requisitos / src instalado en ella (esto incluye Django en sí). El cinco directorio nunca se debe comprobar en svn ya que se genera. Si necesita otras bibliotecas para su aplicación, agruparlos como bolas de alquitrán y soltarlos en el directorio requisitos / src /, añadirlos a los requerimientos / libs.txt o requisitos / apps.txt (dependiendo de si son regulares o bibliotecas python django aplicaciones) y vuelva a ejecutar ./bootstrap.py.
Tenga en cuenta que con virtualenv, no hay necesidad de activar un entorno. En cambio, un cinco tiene un directorio bin que contiene un ejecutable python. Si utiliza que en lugar del ejecutable python sistema, utiliza las bibliotecas en que virtualenv.
ccnmtldjango asume que su proyecto utilizará una base de datos PostgreSQL con el mismo nombre que el proyecto. Así, para nuestro ejemplo, usted entonces hacer:
& Nbsp; myprojectname createdb
y está todo listo para usarlo:
& Nbsp; ./ manage.py syncdb
instalará las tablas que Django necesidades por sus aplicaciones comunes (sitios, sesiones, admin, flatpages, etc) y has de crear un usuario administrador.
El syncdb ./manage.py automágicamente establece una "example.com" sitio. Esto debe cambiar a su dominio del sitio (por ejemplo localhost: 8000) a través de la consola de administración. http: // localhost: 8000 / admin / sites / site /. (Si es importante para su aplicación)
Su aplicación está lista para funcionar ahora:
& Nbsp; ./ manage.py runserver
se iniciará un servidor en http: // localhost: 8000 /. Ir allí te dará un 404 ya que no hay nada en la aplicación todavía, pero la aplicación de administración deben ser accesibles (a través de la cuenta de usuario que creó durante syncdb, oa través de WIND para usuarios tlc (o los especificados en la lista WIND_SUPERUSER_MAPPER_GROUPS en settings_shared.py .) Así que adelante y acceder a http: // localhost: 8000 / admin /
Incluso sin ningún código de aplicación específica, flatpages se incluye lo que puede poner contenido en la web de inmediato.
Desde este punto hacia fuera, es el desarrollo básico de Django. Usted probablemente querrá hacer una startapp ./manage.py para crear su propia aplicación en el proyecto y así sucesivamente.
La creación de una copia nueva
La primera vez que visita un proyecto CCNMTL-plantilla existente de svn / git:
& Nbsp; ./ bootstrap.py
./manage.py runserver :
Diferencias desde el Django estándar instalar
Obviamente, se han añadido un montón de bibliotecas y tal y hay toda la cosa virtualenv. También hay algunas diferencias con respecto a un proyecto Django estándar (es decir, el resultado de startproject django-admin.py) que debe ser awayre de.
En primer lugar, los ajustes se han dividido para hacer despliegues dev y prod más fácil de configurar. Un django regulares instalar tendrá un archivo settings.py que contiene todos los ajustes. Desarrolladores de Django normalmente se copia ese archivo de configuración y realizar cambios en la hora de desplegar a la producción. ccnmtldjango se aprovecha del hecho de que los ajustes son sólo código python y se pueden importar y anulados. Así que tenemos una settings_shared.py que contiene la mayoría de los ajustes. settings.py (que debe ser utilizado para el desarrollo) y settings_production.py continuación, importar todo, desde de settings_shared.py. settings_production.py entonces también anula cualquier configuración que deberían ser diferente en la implementación de producción (por lo general los caminos a las plantillas y archivos multimedia).
TransactionMiddleware está activado por defecto. Esto significa que cada solicitud HTTP para crear una transacción que se confirme o retrotraiga al final de la solicitud. La configuración por defecto django por alguna razón hace cosas estilo "autocommit", donde cada operación de base de datos se ejecuta en su propia transacción, independientemente de la solicitud HTTP.
La otra gran diferencia a tener en cuenta es el directorio de plantillas de nivel superior. Django procedimiento estándar es tener un directorio de plantillas en cada aplicación en su proyecto que contiene las plantillas para esa aplicación. ccnmtldjango tiene el directorio de plantillas de nivel superior por un par de razones. En primer lugar, desde parche sólo crea el directorio de nivel de proyecto y no los directorios de aplicación, que era la única manera de tener que incluir una base.html defecto, admin / login.html, registro / login.html y así sucesivamente. También al igual que el enfoque de tener un directorio de plantillas a nivel de proyecto, especialmente para la plantilla base.html. Django permite múltiples directorios de plantillas y búsquedas a través de ellos en un orden predecible, por lo que puede (y probablemente debería) todavía crear directorios de plantillas de nivel de aplicación, una lista en TEMPLATE_DIRS por delante del nivel de un proyecto, y modificar el que las plantillas que desea en los.
I18N se apaga, ya que es bastante raro que hacemos las cosas en varios idiomas y es una actuación golpear tenerlo habilitado si no está siendo utilizado. . Si usted necesita hacer un sitio Django multilingüe, simplemente volver a habilitarlo y ponerse a trabajar

Requisitos :

  • Python

Comentarios a la ccnmtldjango

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!