load staticfiles も同じだと思います。
問題は、それを .py ファイルに入れていることですか? テンプレートにあるはずです。(またはそれはタイプミスのようです)
なるほど、テンプレートへのパスを見逃しています。
return render_to_response('inici.html'
次のようにする必要があります。
return render_to_response('/principal/inici.html'
プリンシパル ディレクトリにパス テンプレートを作成する
また、プリンシパルと呼ばれるテンプレートのサブパス:
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
そして、彼がテンプレートを見つけたことを確認してください... 1 秒:
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つの方法があります.古典的な方法です:(例)
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')),
)