tutorial proyectos ejemplos apps python django django-apps

python - apps - ejemplos de proyectos en django



Cómo mantener todas mis aplicaciones django en una carpeta específica (5)

¿Qué tal si BASE_DIR variable BASE_DIR ya presente en la settings.py ?

Solo agrega lo siguiente:

import sys sys.path.insert(0, os.path.join(''BASE_DIR'', ''apps''))

Espero que esto ayude.

Tengo un proyecto de Django, digamos "proyecto1". La estructura típica de carpetas para aplicaciones es:

/project1/ /app1/ /app2/ ... __init__.py manage.py settings.py urls.py

¿Qué debo hacer si quiero mantener todas mis aplicaciones en alguna carpeta separada, por ejemplo, ''apps''? Así que esa estructura debe parecerse a la siguiente:

/project/ apps/ app1/ app2/ ... __init__.py manage.py settings.py urls.py


Puedes agregar tu carpeta de apps a tu ruta de python insertando lo siguiente en tu settings.py :

import os import sys PROJECT_ROOT = os.path.dirname(__file__) sys.path.insert(0, os.path.join(PROJECT_ROOT, ''apps''))

¡Entonces puede usar todas las aplicaciones en esta carpeta de la misma manera que estaban en la raíz de su proyecto!


Puedes hacer esto muy fácilmente, pero necesitas cambiar settings.py para tener este aspecto:

INSTALLED_APPS = ( ''apps.app1'', ''apps.app2'', # ... )

Y tu urls.py para lucir así:

urlpatterns = patterns('''', (r''^app1/'',include(''apps.app1'')), (r''^app2/'',include(''apps.app2'')), )

.. y modifique cualquier import para apuntar a la ubicación de la aplicación


Si estás usando virtualenv / virtualenvwrapper (y deberías estarlo), puedes usar el comando add2virtualenv incluido para aumentar tu ruta de acceso de python:

mkdir apps cd apps pwd [/path/to/apps/dir]

Copia ese camino al portapapeles, luego:

add2virtualenv /path/to/apps/dir


Solo agregue __init__.py (4 guiones bajos en total) en su carpeta de aplicaciones. Ahora solo puedes hacer

urlpatterns = [ path(''polls/'',include(''apps.polls.urls'')), path(''admin/'', admin.site.urls) ]