元々、ubuntu サーバーに wsgi を使用して Django 1.3 をインストールしたときに、付属の setup.py ファイルを使用したため、更新する場合は、サイトの「django」フォルダーの名前を変更して、インストール ガイドの Django の古いバージョンを削除するセクションに従いました。 -packages "django.old" を実行し、Django 1.4 の setup.py ファイルを使用して新しいバージョンをインストールします。
Apache サーバーを再起動した後、標準の 500 内部エラーが発生しました。Apache エラー ログを確認したところ、ADMIN_MEDIA_PREFIX が非推奨になっていることがわかったので、Django 1.4 リリース ノートに従って、設定ファイルから ADMIN_MEDIA_PREFIX を削除し、示されているように「admin」というフォルダーの下の静的ディレクトリに管理ファイルを移動しました。
Apache サーバーを再起動したところ、同じ標準の 500 エラーが発生しましたが、今度は Apache エラー ログでテールを実行しようとしたときに、新しいエラーは登録されませんでした。
それ以上のエラーメッセージがなければ、私は本当に立ち往生しているので、助けていただければ幸いです。
以下は、私のApacheサイト構成ファイルとwsgiファイルの内容です
サイト構成:
<VirtualHost *:80>
ServerAdmin me@mysite.com
ServerName www.mysite.com
ServerAlias mysite.com
# Indexes + Directory Root.
# DirectoryIndex index.html index.htm index.php
DocumentRoot /home/www/www.mysite.com/htdocs/
# CGI Directory
ScriptAlias /cgi-bin/ /home/www/www.mysite.com/cgi-bin/
<Location /cgi-bin>
Options +ExecCGI
</Location>
# Logfiles
ErrorLog /home/www/www.mysite.com/logs/error.log
CustomLog /home/www/www.mysite.com/logs/access.log combined
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/www/www.mysite.com/htdocs/>
Options FollowSymLinks MultiViews
AllowOverride All
allow from all
</Directory>
### Connect Django to the URL using WSGI (the django recommended method)
WSGIScriptAlias /myproject /django/myproject/django.wsgi
### Alias to the location of the static dir (images, css, js etc.)
Alias /myproject/static /django/myproject/static
<Directory /django/myproject/static>
Order deny,allow
allow from all
</Directory>
</VirtualHost>
django.wsgi:
import sys
import os
import django.core.handlers.wsgi
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
application = django.core.handlers.wsgi.WSGIHandler()
sys.path.insert(0, '/django/myproject/')
sys.path.insert(0, '/django/myproject/')
from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()
セキュリティ上の理由から、これらのファイルから識別情報を削除または名前変更しようとしたので、明らかな構文エラーなどがある場合は、おそらくこの編集が原因であることに注意してください。これらのファイルの元のバージョンは、名前の変更を受け入れるのと同じであり、Django 1.3 でうまく機能しました。