0

Django / Visual Studio / Azure チュートリアルhttp://www.windowsazure.com/en-us/develop/python/tutorials/django-with-visual-studio/に従いました。私は非常に単純なアプリケーションを持っています。基本的には、1 つの javascript と 1 つの css ファイルを含む 1 つの単純な html テンプレートです (コード例は最後にあります)。

ローカル デバッガーでコードを実行すると、すべて正常に動作します。デフォルトの VS および Azure SDK が提供する設定を使用して、ローカルの Azure エミュレーターでコードを実行しようとすると、javascript と css の両方の要求に対する応答として html ファイルを取得します。たとえば、request for/static/calculator.jsは、代わりにアプリケーションの html テンプレートを返しますcalculator.js

この動作の原因は何ですか?また、これを修正するにはどうすればよいですか?

更新: Azure エミュレーターで Web サイトを実行すると、エミュレーター ホスト上のすべての URL127.0.0.2が「メイン ページ」、つまり で定義された唯一のビューを返すようviews.pyです。たとえば、127.0.0.2/は (当然のことながら) Web ページを返しますが、 も同様127.0.0.2/nonexistenturlです。これは、Azure エミュレーターで使用される fastcgi または IIS Express の構成ミスが原因ではないかと考えています。この問題を解決するための良い出発点は何ですか?

コード例:

HTML テンプレート リンク:

<link rel="stylesheet" type="text/css" href="/static/calculator.css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="/static/calculator.js"></script>

urls.py:

urlpatterns = patterns('',
                   url(r'^$', 'ExamCalculator.Calculator.views.main_page'),
)

staticfiles 関連の設定はsettings.py正しいはずです。

STATIC_ROOT = 'C:/.../static/'
STATIC_URL = '/static/'
# Additional locations of static files
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
)
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#    'django.contrib.staticfiles.finders.DefaultStorageFinder',
)
INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    ...
)
4

0 に答える 0