Django: CSS funktioniert nicht

Ich bin immer noch neu bei Django und ich habe Probleme mit meinem CSS-Arbeiten.
Ich habe die Richtung aus dem Link gefolgt: Django Static Link Tutorial , bei der Behandlung von statischen Dateien. Aber es funktioniert noch nicht.

Einstellungen

# Absolute path to the directory static files should be collected to. # Don't put anything in this directory yourself; store your static files # in apps' "static/" subdirectories and in STATICFILES_DIRS. # Example: "/home/media/media.lawrence.com/static/" STATIC_ROOT = '/Users/a9austin/Development/sites/AlphaSocks/src/static_root/' # URL prefix for static files. # Example: "http://media.lawrence.com/static/" STATIC_URL = '/static/' # Additional locations of static files STATICFILES_DIRS = ( # Put strings here, like "/home/html/static" or "C:/www/django/static". # Always use forward slashes, even on Windows. # Don't forget to use absolute paths, not relative paths. '/Users/a9austin/Development/sites/AlphaSocks/src/staticfiles' ) 

Aussicht

 #from django.http import HttpResponse from django.shortcuts import render_to_response def index(request): return render_to_response('index.html') 

Index.html

 <link rel="stylesheet" href="{{STATIC_URL}}css/style.css" type="text/css" media="screen" > 

Und Verzeichnis Organisation

Src-> staticfiles-> css-> style.css

Vielen Dank, Ihre Hilfe und Zeit ist sehr geschätzt!

2 Solutions collect form web for “Django: CSS funktioniert nicht”

Für Django, um statische Dateien zu dienen, müssen Sie sicherstellen, dass Sie ein paar Einstellungen haben.

STATIC_URL

Diese Einstellung gibt an, welche URL die statischen Dateien auf unter. Das hast du schon getan

STATICFILES_DIRS

Dies spezifiziert alle Ordner auf Ihrem System, wo Django nach statischen Dateien suchen sollte. Die Idee ist, dass Sie vielleicht ein paar Apps in Ihrem Projekt haben, und jede App kann einen anderen Satz von statischen Dateien erfordern. So für organisatorische Zwecke kann jede App ein static Verzeichnis enthalten, in dem sie nur statische Dateien speichern wird. Also muss Django einen Weg haben, um zu wissen, wo diese Verzeichnisse sind. Dies ist, was diese Einstellung für ist.

STATIC_ROOT

Diese Einstellung gibt an, wo Django alle statischen Dateien kopiert und nicht dort, wo die statischen Dateien bereits vorhanden sind. Die Idee ist, dass, sobald Sie die Entwicklung in die Produktion verlassen, kann Django nicht mehr statische Dateien aufgrund von Problemen, die ich nicht hier (es ist in dem Artikel ). Jedoch für die Produktion sollten alle statischen Dateien in einem einzigen Verzeichnis sein, anstatt in vielen wie in STATICFILES_DIRS . So legt diese Einstellung ein Verzeichnis fest, in das Django alle statischen Dateien aus allen Dateien in STATICFILES_DIRS indem man den folgenden Befehl STATICFILES_DIRS :

 $ python manage.py collectstatic 

Bitte beachten Sie, dass dies nur einmal erforderlich ist, wenn Sie in die Produktion gehen und dass das hier angegebene Verzeichnis nicht mit dem in STATICFILES_DIRS angegebenen Verzeichnis STATICFILES_DIRS .

Urls.py

In der Entwicklung für Django, um Ihre statischen Dateien zu dienen, müssen Sie die statischen URLs in Ihrem urls.py enthalten:

 from django.contrib.staticfiles.urls import staticfiles_urlpatterns urlpatterns = ... urlpatterns += staticfiles_urlpatterns() 

Sobald Sie alle oben genannten Dinge abschließen, sollten Ihre statischen Dateien so lange dienen, wie Sie DEBUG = True . Aus der obigen Liste STATIC_URL du nur STATIC_URL . Bitte beachten Sie auch, dass alle oben beschriebenen Schritte in den von Ihnen verknüpften Dokumenten ( Link ) enthalten sind. Es könnte ein bisschen verwirrend am Anfang sein, aber wenn man es ein paar Mal liest, wird es klarer.

Hinzufügen von RequestContext zur Antwort sollte die Variable STATIC_URL in die Vorlage laden.

Versuche es zu ändern:

 from django.shortcuts import render_to_response def index(request): return render_to_response('index.html') 

nach:

 from django.shortcuts import render_to_response from django.template.context import RequestContext def index(request): return render_to_response("index.html", context_instance=RequestContext(request)) 

Weitere Informationen finden Sie in der Django-Dokumentation unter Bezug auf statische Dateien in Vorlagen .

  • Warum gibt mein Scrapy-Code ein leeres Array zurück?
  • Python, um Webseiten zu speichern
  • Ich versuche, mehr als eine Spinne Ergebnisse in separate Tabellen in MySQL zu speichern
  • Python-Code-Snippet in PHP verwendet werden
  • XPATH - html mit vielen Kindern
  • Web-Schnittstelle für eine verdrehte Anwendung
  • Verschrottung Website, die Seite
  • Wie lese ich den Inhalt einer Website?
  • Erstellen Sie eine Anwendung für Web & Desktop
  • Xpath-Lookup über lxml beginnend von root anstatt element
  • Holt Text aus Web mit Angular JS-Tags wie ng-view
  • Python ist die beste Programmiersprache der Welt.