¿Cómo adjuntar CSS a mi plantilla?

I'd like to attach css to my template in Django. I created static dir in the main folder of my project and in settings.py added these lines:

import os
ROOT = os.path.dirname(os.path.abspath(__file__))
path = lambda *a: os.path.join(ROOT, *a)
PROJECT = os.path.basename(ROOT)

Then I defined vars in settings.py

MEDIA_ROOT = path('media')
MEDIA_URL = '/media/'
STATIC_ROOT = path('static')
STATIC_URL = '/static/'
STATICFILES_DIRS = path('static')

In template I link to css in a such way:

<link href="{{ STATIC_URL }}css/mycss.css" rel="stylesheet">

Django generates page with such source code:

<link href="/es/static/css/mycss.css" rel="stylesheet">

If I try to access this link (http://127.0.0.1:8000/static/css/myss.css) from Chrome source code viewer, it returns:

A server error occurred.  Please contact the administrator.

¿Qué estoy haciendo mal? ¡Gracias por adelantado!

preguntado el 03 de mayo de 12 a las 09:05

1 Respuestas

En desarrollo, debe agregar un patrón de URL específico a sus URL en urls.py.

Los documentos de Django hablan de esto en detalle. aquí.

Tenga en cuenta que debe desactivar esta url en producción. Esto https://www.youtube.com/watch?v=xB-eutXNUMXJtA&feature=youtu.be to another, very similar question should help you fix this.

contestado el 23 de mayo de 17 a las 13:05

thank you! my problem was I didn't add ending slash in STATIC_ROOT = os.path.join(os.path.dirname(presentar), "static/") - f1nn

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.