2011-12-13 12 views
16

PyCharm (1.3 y 2 beta) en mi proyecto Django 1.3 arroja una gran cantidad de errores de "referencia estática no resuelta" al inspeccionar mis plantillas para script y estilo.Pycharm + Django 1.3 + STATIC_URL en plantillas = Referencia estática no resuelta

In an outdated PyCharm doc, encontré una pequeña guía que no funciona en mi situación, porque mis archivos estáticos se extienden en varias aplicaciones. Agregar mis directorios estáticos a STATICFILES_DIRS tampoco funcionó.

Dir structure (simplified): 
    app1/static/js/file.js 
    app1/static/css/file.css 
    app2/static/js/otherfile.js 
    app2/static/css/otherfile.css 
    templates/template.html 

Template.html: 
    <script src="{{ STATIC_URL }}js/file.js"></script> 

file.js resuelve cuando vuelva a la plantilla en el servidor local, pero no en PyCharm.

¿Cómo puedo hacer que los archivos estáticos se resuelvan en PyCharm?

+2

Un poco tarde, pero que debe trabajar fuera de la caja ... No necesitas agregar la estática de tu aplicación a STATICFILES_DIRS y eso debería funcionar. –

Respuesta

7

PyCharm 2.5 encuentra de nuevo mis archivos estáticos.

El truco consiste en marcar app1/static y app2/static como "Source Root".

STATICFILES_DIRS no funciona para mí.

+0

Eso también funcionó, con 2.7 EAP. En mi humilde opinión, esto debería funcionar de la caja al analizar el archivo 'settings.py'. –

10

Vaya a Configuración en PyCharm 2,73

Settings >> Project Setting >> Django

Habilitar el soporte de Django y proporcionar los caminos para los tres siguientes archivos:

Project Root 
Settings file 
Manage.py file 

Cuando usted ha dado estas informaciones, cierre PyCharm y reinicie i t.

1

La respuesta seleccionada no funciona para mí. Lo resolvió que está utilizando un prefijo en STATICFILES_DIRS:

STATICFILES_DIRS = (
    # ... 
    ("resources", "C:/data/django/myproject/myapp/static"),) 

tal como se documenta en la documentación de Django: https://docs.djangoproject.com/en/1.4/ref/contrib/staticfiles/

Luego, en su plantilla html:

<link rel="stylesheet" href="{%static 'resources/favicon.png' %}" type="text/css"> 
Cuestiones relacionadas