3

これは非常に単純な質問かもしれませんが、python/django を使用してコーディングを学ぼうとしているので、家族向けの簡単なブログ サイトをいくつか構築できますが、サイトを Hostmonster にデプロイすることはできません。近づいていると思いますが、次のエラーで立ち往生しています:

newproject.urls で定義された URLconf を使用して、Django は次の URL パターンを次の順序で試しました: ^admin/ 現在の URL は、これらのいずれとも一致しませんでした。

共有の HostMonster アカウントに Python や django などをロードする方法を考えるのにかなりの時間を費やしましたが、一般的な未変更の django をロードして djangonewprojectを取得したときに、すべてを理解したと思っていました。画面に表示されますが、urls.py と settings.py の行のコメントを外して管理モジュールを有効にするとすぐに、上記のエラーが発生します。

これが私の.htaccessファイルです:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?mysite.com$
RewriteCond %{REQUEST_URI} !^/mysite/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /mysite/$1
RewriteCond %{HTTP_HOST} ^(www.)?mysite.com$
RewriteRule ^(/)?$ /mysite/jarr.fcgi [QSA,L]

ここに私のjarr.fcgiファイルがあります:

#!/home3/usr/python/bin/python
import sys, os
sys.path.insert(0, "/home3/usr/django/django_projects/newproject")
sys.path.insert(0, "/home3/usr/python")
sys.path.insert(0, "/home3/usr/python/lib")
sys.path.insert(0, "/home3/usr/python/lib/python2.7")
sys.path.insert(0, "/home3/usr/python/lib/python2.7/site-packages")
sys.path.insert(0, "/home3/usr/django/django_src")
os.environ['DJANGO_SETTINGS_MODULE'] = "newproject.settings"
from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")

最終的に「うまくいった!」というのはとてもイライラします。数週間の作業の後、私のホストモンスターアカウントから. アドバイスをいただければ幸いです。

4

2 に答える 2

2

サンプルの django プロジェクトを作成しました。共有ホスティング プロバイダーで簡単にホストできます。github で見つけることができます - https://github.com/psjinx/django-example-project-shared-hosting

alokからの関連する質問に回答ました。それも調べてください。

それでも問題が解決しない場合は、コメントに投稿してください。

于 2013-01-18T13:42:24.450 に答える
1

エラー メッセージに注意してください。

The current URL, , didn't match any of these.`

これは、Django が URI 情報を取得していないことを意味します。その理由は次の行です。

 RewriteRule ^(/)?$ mysite/jarr.fcgi [QSA,L]

fcgiスクリプトが呼び出される唯一の原因は「インデックス」にアクセスすることであり、その場合でも URI 情報は提供されないことに注意してください。あなたはあなたがのRewriteRuleようなものになりたいと思うでしょう

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ mysite/jarr.fcgi/$1 [QSA,L]

(重要な部分は/$1)

jarr.fgciをドメインのパブリックな「ルート」 (つまり、 の下ではない) に移動してmysite、ルールを次のように変更してみてください。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ jarr.fcgi/$1 [QSA,L]

ディレクトリにファイルを配置して、Apache から直接提供することもできます。

于 2013-01-20T09:27:23.353 に答える