2012-01-17 5 views
1

最近私は自分のサイトに多くの機能を追加したいと思っています。そのプロセスを速くするために私は私のdevマシンから静的ファイルを提供したかったのです。具体的には、DJango v1.3.1に同梱されている組み込みのdevサーバーを使いたいと思っていました。運用サーバーを変更することは悪い考えです。変更するたびに静的ファイルをアップロードしなければならず、時間と労力が浪費していました。DJangoデベロッパーサーバーでSTATIC_URLを 'http://'または '/'で始めることができないのはなぜですか?

デベロッパーがボールをプレイするのを手伝うのは悪夢です!私はちょうど約4時間無駄に静的なデータを提供しようとすると、私は間違っていたことが判明devのサーバーは、最初の '/'のように表示されませんでしたSTATIC_URL?私は理由と私が間違っていることを知りたいです...

私はthe settings suggested in the docsを使用しようとしていますが、何かを間違って読んだり、これ以上のことがあります。私たちが実行しているサーバー

<project root> 
    /app1 
     ..various files.. 
    /app2 
     ..various files.. 
    /static 
     /style 
      Style.css 
    /templates 
manage.py 
settings.py 
settings_dev.py 
settings_production.py 
urls.py 

マイsettings.py検出をして呼び出し、適切なsettings_dev.pyまたはうまく機能し、すべての私の設定が制作サーバー上で正常に動作settings_production.py

私のプロジェクトでは、このようになります。

マイsettings_dev.pyは以下があります。

DEBUG = True 

ADMINS = (
    ('Jon', '[email protected]'), 
) 

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.mysql', 
     'NAME': 'mydb', 
     'USER': 'dbuser', 
     'PASSWORD': 'dbpassword', 
     'HOST': '', 
     'PORT': '', 
    } 
} 

MEDIA_ROOT = '' 
MEDIA_URL = '/media' 
STATIC_ROOT = 'C:/Users/jon/PycharmProjects/myproject/static' 
STATIC_URL = 'http://192.168.1.4/static' 
STATICFILES_DIRS =() 
ADMIN_MEDIA_PREFIX = 'http://192.168.1.4/static/admin/' 
TEMPLATE_DIRS = ('C:/Users/jon/PycharmProjects/myproject/templates',) 

IS_PRODUCTION_SERVER=False 

..and urls.py次のものが含まれます。

私のテンプレートは、静的なURLをピックアップし、(私を与えるので、これはそれほどで動作します例)http://192.168.1.4/static/style/Style.cssただし、変更する場合は から/static

その後、

...と私は404エラーを取得http://192.168.1.4/static/style/Style.cssを参照してください。

'\style\Style.css' could not be found 

だから何が起こっているの?静的ファイルへ

+0

でそれを見つけることができ、あなたのdevのサーバーは本当に上で実行されています'http://192.168.1.4:8000'ではなく、' http:// 192.168.1.4'? –

答えて

0

ルートにいくつかの特別なヘルパーがURLにあります

from django.conf.urls.static import static 
from django.contrib.staticfiles.urls import staticfiles_urlpatterns 

if settings.IS_PRODUCTION_SERVER is False: 
    urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 
    urlpatterns += staticfiles_urlpatterns() 

はまた、私はそれが重要かどうかを確認するためにソースをチェックしませんが、オリジナルのsettings.pyのSTATIC_ROOT、STATIC_URLのすべての例では決して、MEDIA_URLとMEDIA_ROOTは/で終わります。試してみてください。

あなたはdispairにしている場合は、私は、一般的なすべての目的のDjangoのベースのプロジェクトを作ったものを設定することを忘れDjangoのプロジェクトの非常に多くの開始後、あなたはhttps://github.com/riquito/Semiautomatic-django-setup

関連する問題