私は、オープンショーのdjango "Hello World"の例を作ることは不可能でした。私は、urls.py、views.py、およびwsgi.pyに基づいて最も基本的な例を実行しようとしています。 これは(あなたには、いくつかの試練を見ることができます#で)インポートビューで構造django openshiftインポートビューのエラー
wsgi
-myproject
--myproject
---__init__.py
---settings.py
---urls.py
---views.py
---wsgi.py
とurls.py、ある
from django.conf.urls import include, url
from django.contrib import admin
#from . import views
#import views
from myproject import views
urlpatterns = [
url(r'^$', views.index, name='index'),
url(r'^admin/', include(admin.site.urls)),
]
事は、私はから抜け出すことができないということです"ImportError - 名前ビューをインポートできません"という状況。私はstackoverflowスレッドをたくさん読んだが、何も答えは無かった。 Isteadをインポートすると、views.pyのコンテンツをurls.pyにコピーすると問題なく動作します。
ここで私は解決策を見つけようと追加sys.path.appendのフルwsgi.py内容、:
import os, sys
sys.path.append(os.path.join(os.environ['OPENSHIFT_REPO_DIR']))
sys.path.append(os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'wsgi'))
sys.path.append(os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'myproject'))
sys.path.append(os.path.join(os.environ['OPENSHIFT_REPO_DIR'], 'myproject'))
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
virtenv = os.environ['OPENSHIFT_PYTHON_DIR'] + '/virtenv/'
os.environ['PYTHON_EGG_CACHE'] = os.path.join(virtenv, 'lib/python3.3/site-packages')
virtualenv = os.path.join(virtenv, 'bin/activate_this.py')
try:
execfile(virtualenv, dict(__file__=virtualenv))
except IOError:
pass
私はopenshift Webコンソールには、このプロジェクトを作成し、そしてliclipseでそれを修正(日食pydev)。 物事はオープンシフトと関係がある、私はいくつかの地元の例を作ったし、まったく問題はない。
お願いします。私はオープンシフトが少なくとも初心者の方では、ジャンゴとはうまくいかないと思っています。 おかげ
おかげで、これは私がやった最初のことです。あなたは私のurls.pyの#でこの行を見ることができます。私はシンプルだが本当に実用的な例が必要だと思う。 –
ああ申し訳ありませんでしたが役に立たなかった。もう1つの選択肢は文字列に入れて、このようなビューをインポートしないことです:githubのopenshiftの例:https://github.com/openshift/django-ex/blob/master/project/urls.py – fips
はい、ありがとうこれはうまくいく。また、views.pyのコンテンツをurls.pyにコピーするだけで動作します。 しかし、私はこのように遠くに行くことはありません、私は仕事を基本的なインポートにしたい、そうでなければ私はプロジェクトにビューを使用することはできません。 –