簡體   English   中英

鏈接到Django 1.3中的靜態文件的問題

[英]Problems linking to static files in Django 1.3

我在Windows XP上運行django 1.3,python 2.7

我正在嘗試在我的django應用程序的靜態文件夾中設置一個CSS。

模板看起來像:

<html>
    <head>
        <title>css demo</title>
        <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/my.css" />

    </head>
    <body>

生成的HTML如下所示:

<html> 
    <head> 
        <title>css demo</title> 
        <link rel="stylesheet" type="text/css" href="http://localhost/static/css/my.css" /> 

    </head>
...

因此,似乎我已經設置了所有內容,以便指定靜態文件在模板中的位置,然后在生成的html中。

但是在' http://localhost/static/css/my.css '中注意到了。 我怎么去那里?

我像這樣跑了collectstatic:

C:\root\workspace\mywebapp\src\mywebapp>c:\Python27\python.exe manage.py collectstatic

You have requested to collect static files at the destination location as specified in your settings file.

This will overwrite existing files.
Are you sure you want to do this?

Type 'yes' to continue, or 'no' to cancel: yes
Copying 'c:\root\workspace\mywebapp\src\mywebapp\css_demo\static\css\my.css'

1 static file copied to 'C:/root/workspace/mywebapp/src/mywebapp/static/'.

所以我現在在c:\\ root \\ workspace \\ mywebapp \\ src \\ mywebapp \\ css_demo \\ static \\ css \\ my.css中有my.css

在我的設置中,我有:

STATIC_ROOT = 'C:/root/workspace/mywebapp/src/mywebapp/static/'
STATIC_URL = 'http://localhost/static/'

在我的url.py我有:

from django.conf.urls.defaults import patterns, include, url
from django.contrib.staticfiles.urls import staticfiles_urlpatterns

urlpatterns = patterns('',

    (r'^mywebapp/', include('mywebapp.css_demo.urls')),
)

urlpatterns += staticfiles_urlpatterns()

所以,如果我理解正確,我的css在:

c:\root\workspace\mywebapp\src\mywebapp\css_demo\static\css\my.css

不應該在:

http://localhost/static/css/my.css

但相反,我看到:

Page not found (404)
Request Method: GET
Request URL:    http://localhost/static/css/my.css
Using the URLconf defined in mywebapp.urls, Django tried these URL patterns, in this order:
^mywebapp/
The current URL, static/css/my.css, didn't match any of these.

我也嘗試過:

http://localhost/mywebapp/static/css/my.css
http://localhost/mywebapp/css_demo/static/css/my.css

我在這里錯過了一步嗎? 關於此的文檔有點令人困惑。 http://docs.djangoproject.com/en/1.3/howto/static-files/ http://docs.djangoproject.com/en/1.3/ref/contrib/staticfiles/

謝謝!

我打賭你的應用程序運行在http://localhost:8000 ,而不是http://localhost :)

更改

STATIC_URL = 'http://localhost/static/'

STATIC_URL = '/static/'

那里不需要絕對URL。

我創建了一個文件夾:

C:\root\workspace\mysite\src\mysite\common

在我的設置中,我有:

STATIC_ROOT = 'C:/root/workspace/mysite/src/mysite/static/'
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    "C:/root/workspace/mysite/src/mysite/common/static",
)

這似乎有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM