0

djangoをいじり始めたところです。まず、Windowsマシンで小さなアプリを作成し、それが正常に機能することを確認しました。次に、プロジェクト全体を圧縮し、Linuxマシンでzipを開きました。もちろん、Linuxマシンはmod_wsgiとdjango1.1.1でインストールされました。

次のdirを作成しました。

  • /usr/local/bin/ROOT-1つのファイルのみが含まれていますdjango.wsgi
  • /usr/local/bin/ROOT/myapp-djangoアプリのルートディレクトリ

ここの指示に従って、私はに追加しましたhttpd.conf

<VirtualHost *:80>

    ServerName server
    ServerAlias server
    ServerAdmin webmaster@example.com


    WSGIScriptAlias /myapp /usr/local/bin/ROOT/django.wsgi

    <Directory /usr/local/bin/ROOT/>
    Order allow,deny
    Allow from all
    </Directory>

</VirtualHost>

今ここに私が入れた指示に従って/usr/local/bin/ROOT/django.wsgi

import os
import sys
path = '/usr/local/bin/ROOT'
if path not in sys.path:
    sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

重要な場合:アプリケーションが起動する前に、PYTHOHPATHに何も設定されていません。

その後、apacheを正常に再起動し、server/myappに移動しました。500エラーが発生しました。私が見るログを見てください:

[Sun Dec 05 12:24:17 2010] [error] [client XXXX] ImproperlyConfigured: Error importing middleware django.middleware.csrf: "No module named csrf"

私は何が間違っているのですか?これについて私が見つけた他のすべてのスレッドは、常にそれが古いバージョンのdjango(ただし、私の1.1.1)であるか、複数のアプリが実行されているという結論になりますが、私には1つしかありません...

ヘルプ?

4

2 に答える 2

1

「django.middleware.csrf」はDjango1.2.xのパッケージです

Django 1.1.x CSRF設定については、こちらの適切なドキュメントをお読みください

1.1.xのパッケージは「django.contrib.csrf.middleware.CsrfMiddleware」でした

于 2010-12-05T19:13:50.490 に答える
1

1.1.1古いバージョンのDjango(現在のバージョンは1.2.3)であり、これが問題の原因であることはほぼ間違いありません。django.middleware.csrf1.1.1にはありません。

于 2010-12-05T19:14:55.513 に答える