vistas tutorial template plantillas para filtros descargar python css django django-templates

python - tutorial - La plantilla de Django no puede ver los archivos CSS



templates django python (5)

En el servidor de desarrollo, me gusta hacer trampa y poner lo siguiente en mi urls.py

if settings.DEBUG: urlpatterns += patterns('''', (r''^includes/(?P<path>.*)$'', ''django.views.static.serve'', {''document_root'': ''/path/to/static/files''}), )

De esa manera, cualquier cosa en el proyecto bajo la carpeta "/ includes" es el servidor por el servidor dev. Usted podría simplemente cambiar eso a "/ media".

Estoy creando una aplicación django y no puedo obtener las plantillas para ver los archivos CSS ...

MEDIA_ROOT = os.path.join(os.path.abspath(os.path.dirname(__file__)), ''media'') MEDIA_URL = ''/media/''

Tengo los archivos CSS en / mysite / media / css / y el código de la plantilla contiene:

<link rel="stylesheet" type="text/css" href="/media/css/site_base.css" />`

Luego, en el archivo url.py tengo:

# DEVELOPMENT ONLY (r''^media/(?P<path>.*)$'', ''django.views.static.serve'', {''document_root'': ''/media''}),

pero el servidor de desarrollo sirve el html plano (sin estilos). ¿Qué estoy haciendo mal?

-

OK, lo tengo funcionando basado en lo que ustedes han dicho. La respuesta es:

settings.py:

MEDIA_ROOT = ''d://web//mysite//media//'' #absolute path to media MEDIA_URL = ''/mymedia/'' #because admin already using /media

site_base.html:

<link rel="stylesheet" type="text/css" href="/mymedia/css/site_base.css" />

urls.py

from mysite import settings if settings.DEBUG: urlpatterns += patterns('''', (r''^mymedia/(?P<path>.*)$'', ''django.views.static.serve'', {''document_root'': settings.MEDIA_ROOT}), )

¡Y voilá! Funciona.


También me funcionó, gracias chicos !!

settings.py

MEDIA_ROOT = ''/home/pi/ewspaces/ws-classic/xima/media'' MEDIA_URL = ''/statics/''

urls.py

if settings.DEBUG: urlpatterns += patterns('''', (r''^statics/(?P<path>.*)$'', ''django.views.static.serve'', {''document_root'': settings.MEDIA_ROOT}), )

plantillas internas:

<link type="text/css" href="/statics/css/base/jquery.ui.all.css" rel="stylesheet" />


Tuve un problema similar cuando intentaba que jQuery funcionara. Mi solución fue agregar un alias a mi archivo httpd.conf de Apache que señalaba a la carpeta que contenía el archivo .js. Podrías hacer lo mismo con tu carpeta CSS.


en el bloque "solo desarrollo" de tus urls.py debes cambiar

(r''^media/(?P<path>.*)$'', ''django.views.static.serve'', {''document_root'': ''/media''}),

a...

(r''^media/(?P<path>.*)$'', ''django.views.static.serve'', {''document_root'': settings.MEDIA_ROOT}),


ADMIN_MEDIA_PREFIX se establece en /media/ de forma predeterminada, y probablemente está "robando" la ruta. Cambie esa configuración o use una diferente para medios que no sean de administración, por ejemplo, site_media o assets .