2013-02-22 1 views
7

Ich habe ein Projekt Django, die wie folgt aussieht:Wie kann ich PyCharm dazu bringen, statische Dateien zu erkennen?

/.idea 
/clients 
    /app 
     /static 
      coin.png 
     /templates 
      index.html 
     __init__.py 
     urls.py 
    /clients 
     settings.py 
    manage.py 

In index.html Ich habe (ich das Bild auf machen sehen):

{% load staticfiles %} 

<img src="{% static 'coin.png' %}"> 

Relevante Teile settings.py:

In der Projektstruktur habe ich /clients hinzugefügt, da der Stamm des Django-Projekts eine Ebene höher als der Repo-Stamm ist. Jedoch alle meine {% static %} verwendet in diesem Projekt behalten Highlights als nicht vorhanden, obwohl Django sie finden kann. Ideen zur Lösung?

+0

Wie ist STATIC_ROOT in Ihrer settings.py definiert? – yole

+0

@Yole Ich habe relevante Teile zu der Frage hinzugefügt. –

+0

@yole dasselbe Problem mit 'STATIC_ROOT = normpath (join (SITE_ROOT, 'Assets'))'. Hat PyCharm einige Hacks für manuelle Einstellungen statische dir? PyCharm EAP 129.782, Django 1.5.1 – nk9

Antwort

8

Sie müssen die folgenden Einstellungen festlegen, zu PyCharm zu sagen, wo das Projekt Wurzel zu finden:

enter image description here

Django settings to set (image)

Sie können auch mit {{STATIC_URL}}/path/to/Dateien, die von pycharm anders funktioniert

Dies wirkte Wunder. Es ist ein bisschen seltsam von pycharm obwohl.

8
STATICFILES_DIRS = (
    'static', 
) 

Die oben geht davon aus, dass Ihr statisches es static direkt unter der Wurzel genannt wird. Jetzt müssen Sie os.path.join tun. Ich habe das getestet und getestet.

+2

Die Sache ist, dass OP "statische" Verzeichnis innerhalb und App hat, und wahrscheinlich auch in mehreren anderen Apps. Dies ist ein perfektes Muster für statische Dateien in Django - das ist der zweite Standard-Finder! https://docs.djangoproject.com/en/1.8/ref/settings/#std:setting-STATICFILES_FINDERS PyCharm sollte dies zumindest für die Standardeinstellungen, IMO, analysieren. cc @KitSunde – frnhr