Django: CSS Ist nicht nicht arbeiten
Ich bin noch neu in django und ich habe ein problem mit meinem CSS arbeiten.
Ich folgte der Richtung aus dem link: Django Statische Link-tutorial, auf das handling von statischen Dateien. Aber es ist immer noch nicht funktioniert.
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'
)
Ansicht
#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 Ihre Zeit ist sehr viel geschätzt!
- "Was" nicht funktioniert? Wie machen Sie Ihre Ansichten, Verwendung von render() oder render_to_response()? Statische Dateien Kontext-Prozessor eingeschaltet settings.py?
- Ja, ich bin mit render_to_response, werde ich es mit meiner Ansicht. Es funktioniert nicht durch das css ist nicht wirklich ändern meiner html.
- finden Sie unter diesem post zu handhaben statische Dateien
- Danke für die Antwort, ich habe gerade aktualisiert es mit meinem STATICFILES_DIR, mein css ist noch nicht angezeigt.
- Die Art und Weise, die Sie konfiguriert
STATICFILES_DIRS
undSTATIC_ROOT
ist falsch. Sie können nicht enthalten die gleichen Verzeichnisse. Bitte Lesen Sie meine Antwort für mehr info.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für Django zu dienen, die statische Dateien, die Sie haben, um sicherzustellen, dass Sie haben ein paar Einstellungen.
STATIC_URL
Diese Einstellung gibt an, welche url soll statische Dateien anzeigen unter. Sie haben das bereits getan.
STATICFILES_DIRS
Dieser gibt an, alle Ordner auf Ihrem system, wo Django Aussehen sollte für statische Dateien. Die Idee ist, dass man vielleicht ein paar apps in Ihrem Projekt, und jeder app, erfordern möglicherweise einen anderen Satz von statischen Dateien. Also für organisatorische Zwecke, jede app enthält möglicherweise
static
Verzeichnis, wo es gespeichert werden nur statische Dateien. So dann Django hat einen Weg zu haben, um zu wissen, wo diese Verzeichnisse sind. Dies ist, was diese Einstellung ist für.STATIC_ROOT
Diese Einstellung gibt an, wo Django kopiert alle statischen Dateien zu und nicht dort, wo die statischen Dateien werden bereits auf. Die Idee ist, dass, sobald Sie lassen Entwicklung in die Produktion, Django kann nicht dazu dienen statische Dateien nicht mehr aufgrund von Problemen will ich hier nicht gehen (es ist in der Artikel). Jedoch für die Produktion, alle statischen Dateien sollten in einem einzigen Verzeichnis, statt in viele wie angegeben in
STATICFILES_DIRS
. Also diese Einstellung gibt an, ein Verzeichnis, in dem Django kopieren Sie alle Dateien von allen Dateien innerhalbSTATICFILES_DIRS
indem Sie folgenden Befehl ausführen:Bitte beachten: dies ist nur erforderlich, wenn Sie in Produktion gehen und auch, dass das angegebene Verzeichnis hier kann nicht das gleiche wie ein beliebiges Verzeichnis angegeben, in
STATICFILES_DIRS
.Urls.py
In der Entwicklung für Django zu dienen, die statische Dateien, Sie enthalten die statischen urls in Ihrem urls.py:
Sobald Sie alle der oben genannten Dinge, Ihre statische Dateien bedient werden sollte, so lange wie Sie haben
DEBUG = True
. Aus der Liste oben, scheinen Sie, nur vollständigeSTATIC_URL
. Bitte beachten Sie auch, dass alle Schritte, die ich oben beschrieben habe, sind in den docs Sie verknüpft in Ihrer Frage (link). Vielleicht ist es ein bisschen verwirrend am Anfang, aber wenn Sie es Lesen ein paar mal, wird es klarer.manage.py
Befehl, und es ist nur notwendig für die Produktion. In der Entwicklung Django Aussehen und dienen statische Dateien in einem der Verzeichnisse inSTATICFILES_DIRS
. Auch ich vergaß zu erwähnen, in der Ansicht stellen Sie sicher, dass SieRequestContext
nutzen zu können{{ STATIC_URL }}
. Die Antwort von Kavanaugh Entwicklung zeigt, dass.STATICFILES_DIRS
ist wie( 'string_here' )
ist kein Tupel. Ändern Sie Sie auf( 'string_here', )
was ist ein Python-Tupel.STATICFILES_DIRS
Verzeichnisse direkt...Hinzufügen RequestContext an die Antwort, sollte das laden der STATIC_URL variable in die Vorlage.
Ändern versuchen:
zu:
Beziehen sich auf die Django-Dokumentation auf Bezogen auf statische Dateien in Vorlagen für weitere Informationen.