我覺得負荷staticfiles不相同。
問題是你把它放在一個.py文件中?它應該在模板中。 (或者,這似乎是一個打字錯誤)
我明白了,你錯過了路徑模板:
return render_to_response('inici.html'
應該是:
return render_to_response('/principal/inici.html'
使主要路徑模板dir
和模板中的子路徑再次調用principal:
principal/templates/principal
,並把你的模板格式(.html)有
/projecte
manage.py
/projecte
settings.py
url.py
wsgi.py
/templates (dir for your project templates)
/projecte
/admin (e.g. if you want to override your admin templates, do it here)
/var (a dir used operationaly for all variable things... logs, files, db)
/static
/css
estil.css
/media
/logs
/sqlite (for testing only, unless you use sqlite operational as well)
/principal
models.py
views.py
forms.py
/templates (a dir for your application templates)
/principal
inici.html
/media
,並確保他發現模板...一第二種:
settings.py中
使用:
import os
SETTINGS_DIR = os.path.dirname(os.path.realpath(__file__))
BUILDOUT_DIR = os.path.abspath(os.path.join(SETTINGS_DIR, '..'))
STATIC_ROOT = os.path.join(BUILDOUT_DIR, 'var', 'static')
STATIC_URL = '/static_media/'
MEDIA_ROOT = os.path.join(BUILDOUT_DIR, 'var', 'media')
MEDIA_URL = '/media/'
TEMPLATE_DIRS = (
os.path.join(SETTINGS_DIR, "templates"),
)
TEMPLATE_CONTEXT_PROCESSORS = (
.....
# Extra for django-staticfiles.
'staticfiles.context_processors.static_url'
......
)
INSTALLED_APPS (
.....
'django.contrib.staticfiles',
'yourProjectName',
'yourAppName',
'staticfiles',
.....
我會把這樣的東西放在你的remplate(.html)文件中:
<link rel="stylesheet"
href="{{ STATIC_URL }}iamapps/iamapps.css"
type="text/css"
media="screen, projection" />
通過,你把你的模板目錄的方式取決於....在你的應用程序路徑,如果它屬於你的應用程序(主要我猜的),在您的網站目錄。如果它使用整個網站(projecte)
並在你的意見。PY有2種方式來做到這一點, 經典的方式:(EG)
def home(request, template='principal/home.html'):
logger.debug("Home view called by user %s" % request.user)
return render_to_response(template,{},context_instance=RequestContext(request))
或基於類的觀點:
class HomeView(TemplateView):
template_name = "principal/home.html"
如果你想做到這一點真的很好,做一個基礎模板您的應用程序模板目錄和擴展這一項,使用您的inici.html:
{% extends 'prinicpal/base.html' %}
那麼這裏寫一個完整的教程之前......這一切都取決於你定義哪些地方你把它。你的問題不包含所有的信息,以確切地指出你的代碼中的錯誤。
編輯 有了您的加入信息,我重建項目,和它的作品對我來說這個設置:同一個項目的結構 正如你在你的問題了。
import os
RUTA_PROJECTE = os.path.dirname(os.path.realpath(__file__))
STATIC_ROOT = os.path.join(RUTA_PROJECTE,'static')
STATIC_URL = '/static/'
BUILDOUT_DIR = os.path.abspath(os.path.join(RUTA_PROJECTE, '..'))
DEBUG = False
TEMPLATE_DIRS = (
os.path.join(RUTA_PROJECTE, "templates"),
)
TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.debug',
'django.core.context_processors.i18n',
'django.core.context_processors.media',
# Extra for django-staticfiles.
'staticfiles.context_processors.static_url',
)
INSTALLED_APPS = (
'django.contrib.staticfiles',
'principal',
'projecte',
'staticfiles',
)
ROOT_URLCONF = 'projecte.urls'
編輯(31-12-2012)
,不要忘了在你的項目中添加URL:
if settings.DEBUG:
urlpatterns += patterns('',
(r'', include('staticfiles.urls')),
)
你有HTML裏面INICI.py? INCI.py從哪裏來?你如何運行開發服務器?你的模板在結構中位於哪裏? –
我把它編輯成.html,可能是輸入錯誤。但是你把你的模板放在哪裏? (和.html文件) –
如果他沒有找到CSS瀏覽器不會給出錯誤(至少如果你不看錯誤消息)。您還可以查看頁面的來源並查看他所做的路徑,看看是否正確。如果不正確:請調整設置,查看我的答案,瞭解放置位置的示例...(但有很多可用的...) –