2

私はジャンゴの初心者で、個人的な技術ブログを作成しようとしています。私はウェブファクションでホスティングしています。このビデオを使用してブログをセットアップしました。しかし、スタイルシートは機能していません。ステップバイステップの手順に従って、webfaction で言及されている静的ファイルを作成しましたが、まだスタイルシートが機能していません。

私は静的アプリケーションを作成しました: webfaction doc に記載されているように、staticappそれを Web サイトに追加しました。/static

settings.py

  STATIC_ROOT = 'home/myaccount/webapps/staticapp'
  STATIC_URL = 'http://myblogtest.myaccount.webfactional.com/static'
  STATICFILES_DIRS = ( 'junk','static',)


INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
     'django.contrib.admin',
     'django.contrib.admindocs',
     'blog',
     )

私は次のように自分のhtmlページから参照しています:

 <link rel="stylesheet" type="text/css" href="static/style/style.css" />

ステップがありませんか?コードスニペットを追加するように言っている多くの回答を見ることができましたurls.pyが、Webfaction のドキュメントには記載されていません。だから私はそれをしていません。

多くの人がこの同じ問題に直面しているのを見ることができましたが、私は初心者であるため、答えは役に立ちません。これをセットアップするのを手伝ってください。:)

4

2 に答える 2

3

STATIC_ROOT先頭にスラッシュを付ける必要があります/。つまり、そうで/home... はありません home...

staticディレクトリを に追加しないSTATICFILES_DIRSでください。あなたは、最も近い鈍器でそうするようにアドバイスした人を叩く許可を持っています. このstaticディレクトリは、開発中はまったく存在してはならpython manage.py collectstatic、本番環境では、.xml を介してのみ作成または変更する必要があります。

静的リソースは、各アプリの個別のディレクトリか、まったく異なるプロジェクト レベルのディレクトリに保存してくださいつまり、このディレクトリは、またはstaticのディレクトリと同じであってはなりません。次に、このディレクトリをに追加します。MEDIA_ROOTSTATIC_ROOTSTATICFILES_DIRS

Django 1.4+ では、{% static %}テンプレートで template タグを使用する必要があります。

{% load static from staticfiles %}
<img src="{% static "images/hi.jpg" %}" alt="Hi!" />

これにより、URL の一部が自動的に追加されるSTATIC_URLため、指定するパス パラメーターはそれに対する相対パスである必要があります。

Django 1.3 では、設定のどこかに表示さ{{ STATIC_URL }}れることを確認してから使用します。ビューも を利用する必要があります。つまり、クラスベースのビュー、メソッド、または への受け渡しのいずれかを使用します。'django.core.context_processors.static'TEMPLATE_CONTEXT_PROCESSORSRequestContextrendercontext_instance=RequestContext(request)render_to_response

Django で簡単に開発中に静的ファイルを提供したい場合は、以下を の最後に追加できますurls.py:

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

これは本番環境では機能しませんDEBUG=False( )。本番python manage.py collectstatic環境では、フロントエンド Web サーバー (nginx、Apache など) を実行してから、 のディレクトリを提供する必要がありますSTATIC_URL

于 2012-10-03T17:27:32.353 に答える
1

STATIC_URL設定で定義しました。HTMLテンプレートで使用する必要があります

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

設定で TEMPLATE_CONTEXT_PROCESSORS から何も削除していない限り、これは機能するはずです。

テンプレート内のすべての JS および CSS リンクを自分で作成するのではなく、アセット マネージャーを使用して生成することも検討できます。django-pipelineは非常に優れており、JS や CSS の連結や圧縮なども処理できます。

于 2012-10-03T16:03:13.330 に答える