2017-03-16 8 views
1

私が取り組んでいるdjango-oscarプロジェクトがあります。そして、私はどこでもこの問題を解決するために探してきました。私はここで似た質問に出会ったが、まだ問題を解決することはできない。ImportError:myapp_o.urlsというモジュールがありません

「about」や「contacts」などの他のページを作成しようとしています。私はダッシュボードを作成してページを作成してみましたが、正確にはできないようです。私はこれらのページをフッターエリアに配置できるようにしたい。ダッシュボードで作成したこれらのページを私のフッタに表示することはできましたが、テキストだけを表示するだけで簡単です。私がもっとやり遂げることができるかと不思議でした。

私は自分のappsフォルダにアプリを作成しました。ここではフォルダ構造は次のとおりです。ここで

folder structure

Full folder structure

は私のENVがインストールされ -

Babel==2.3.4< 
    beautifulsoup4==4.5.1 
    colorama==0.3.7 
    coverage==3.7.1 
    coveralls==0.4.4 
    detox==0.10.0 
    Django==1.9.12 
    django-appconf==1.0.2 
    django-compressor==1.6 
    django-countries==4.0 
    django-debug-toolbar==1.5 
    django-extra-views==0.6.4 
    django-haystack==2.5.1 
    django-localflavor==1.3 
    django-nose==1.4.2 
    django-oscar==1.3 
    -e git://github.com/tangentlabs/django-oscar-  [email protected]efa67170b10694ab431a0b35408d99b16e#egg=django_oscar_paypal 
    django-static-precompiler==1.5 
    django-tables2==1.0.7 
    django-treebeard==4.1.0 
    django-webtest==1.7.7 
    django-widget-tweaks==1.4.1 
    docopt==0.6.2 
    enum-compat==0.0.2 
    enum34==1.1.6 
    eventlet==0.20.0 
    factory-boy==2.7.0 
    fake-factory==0.7.2 
    flake8==2.2.3 
    funcsigs==1.0.2 
    greenlet==0.4.11 
    ipaddress==1.0.17 
    mccabe==0.5.2 
    mock==1.0.1 
    mod-wsgi==4.5.11 
    nose==1.3.7 
    pbr==1.10.0 
    pep8==1.7.0 
    phonenumbers==7.7.5 
    Pillow==3.4.2 
    pinocchio==0.4.1 
    pluggy==0.3.1 
    purl==1.3 
    py==1.4.31 
    pycountry==16.11.27.1 
    pyflakes==1.3.0 
    pytest==3.0.1 
    pytest-cov==2.3.1 
    pytest-django==3.0.0 
    python-dateutil==2.6.0 
    pytz==2016.10 
    PyYAML==3.12 
    requests==2.12.3 
    six==1.10.0 
    sorl-thumbnail==12.4a1 
    sqlparse==0.2.2 
    tox==2.1.0 
    Unidecode==0.4.19 
    virtualenv==15.1.0 
    waitress==1.0.1 
    WebOb==1.6.3 
    WebTest==2.0.16` 

requirements.txt

ピップ凍結はここmyappのviews.py

です
from django.http import HttpResponse 
from django.core.urlresolvers import reverse 


def about(request): 
    return HttpResponse(request, "my about page", {}) 

def contacts(request): 
    return HttpResponse(request, "my contact page", {}) 
ここで

がここ

from django.conf.urls import url 

from django.conf.urls import patterns, include, url 
from django.conf.urls.i18n import i18n_patterns` 

from . import views 
from apps.myapp import views 



urlpatterns = patterns ('', 
    url(r'^en-gb/contacts/', views.contacts, name='contacts'), 
    url(r'^/about/', views.about, name='about'), 

) 

urls.py apps.myappが

from django.conf.urls import patterns, include, url 
from django.conf.urls.i18n import i18n_patterns 
from django.conf import settings 
from django.contrib import admin 
from django.contrib.staticfiles.urls import staticfiles_urlpatterns 
from django.conf.urls.static import static 

from apps.app import application 
from paypal.payflow.dashboard.app import application as payflow 
from paypal.express.dashboard.app import application as express_dashboard 
admin.autodiscover() 

from apps.app import myapp_o 



'''everything else has to have the include apart from the admin''' 

urlpatterns = patterns 
[ 
    '', 
    (r'^admin/', admin.site.urls), 
    url(r'^i18n/', include('django.conf.urls.i18n')), 
    url(r'^myapp_o/', include('apps.myapp_o.urls')), 
] 

urlpatterns += i18n_patterns('', 
    # PayPal Express integration... 
    (r'^checkout/paypal/', include('paypal.express.urls')), 
    # Dashboard views for Payflow Pro 
    (r'^dashboard/paypal/payflow/', include(payflow.urls)), 
    # Dashboard views for Express 
    (r'^dashboard/paypal/express/', include(express_dashboard.urls)), 
    (r'', include(application.urls)), 
    '''(r'^myapp_o/', include('myapp_o.urls')),''' 

) 

if settings.DEBUG: 
    urlpatterns += staticfiles_urlpatterns() 
    urlpatterns += static(
     settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

でした誰シェアと教えてurls.py個人用サイト(ルート)である場合、私は間違っているんですか?または、ダッシュボード内でこれを行う方が良いでしょうか?

おかげ

イブ

は私の設定

輸入OS

INSTALLED_APPS = [ 
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.admin', 
    'django.contrib.flatpages', 
    'django.contrib.staticfiles', 
    'mod_wsgi.server', 
    # External apps 
    # 1.5.7 still ships with South migrations in the wrong folder, 
    # 1.5.8 contains a fix. Upgrade when released. 
    # 'django_extensions', 
    'debug_toolbar', 
    # Apps from oscar 
    'paypal', 
    'compressor', 
    'widget_tweaks', 

    ] 



from oscar import get_core_apps 
INSTALLED_APPS = INSTALLED_APPS + get_core_apps([ 
    'apps.shipping', 
    'apps.checkout', 
    'apps.myapp',]) 

からの情報を追加する必要があります、ありがとうございました。あなたはこのようにインポートしないでください、

apps/myapp/urls.py上:

答えて

0

は、まずは自分のコードをチェックしてみましょう。

from . import views 
from apps.myapp import views 

後でviewsは最初views VARが上書きされますので。したがって、コードをfrom . import viewsまたはfrom views import about, contactsに変更してインポートをクリアする必要があります。

第2に、Django 1.8の後にurlpatternsはもうpatternsを使用しません。 Django1.10(1.10 patternsの使用が推奨されていない)の後にコードを使用するには、url関数を使用することを検討する必要があります。

ので、あなたのコードは次のように変更することができます:私も正確にユーザの要求からURLと一致するように、URLの末尾$を追加

urlpatterns = [ 
    url(r'^en-gb/contacts/$', views.contacts, name='contacts'), 
    url(r'^about/$', views.about, name='about'), 
] 

。私はあなたがStringでDjangoのurlsを使用することができますi18n_patterns

とジャンゴのドキュメントを検索

第三には、include('paypal.express.urls')のようにあります。

私はあなたのURLは、このようなことができると思う:

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^i18n/', include('django.conf.urls.i18n')), 
    url(r'^myapp_o/', include('apps.myapp_o.urls')), 
] 
urlpatterns += i18n_patterns(
    # PayPal Express integration... 
    url(r'^checkout/paypal/', include('paypal.express.urls')), 
    # Dashboard views for Payflow Pro 
    url(r'^dashboard/paypal/payflow/', include(payflow.urls)), 
    # Dashboard views for Express 
    url(r'^dashboard/paypal/express/', include(express_dashboard.urls)), 
    url(r'', include('apps.myapp_o.urls')),  
) 

は、あなたが文字列のインポートを使用している間、アプリからのビューをインポートする必要はありません覚えておいてください。 このことがうまくいかない場合は、コメントしてください。

+0

私はルート個人用サイトurl.py urlpatterns =で – evepokua

+0

[ URL(R '^管理/'、admin.site.urls)、 URL(R '^ i18nのを/それをコメントアウトしない限り、私はまだ同じエラーを持っています#url(r '^ myapp_o /'、include( 'apps.myapp_o.urls'))、 ] – evepokua

+0

urlpatterns + = i18n_patterns( #PayPal( 'django.conf.urls.i18n')) (PayPal.express.urls))、 #Payflow Proのダッシュボードビュー url(r '^ dashboard/paypal/payflow /'、 (payflow.urls))、 #エクスプレスのダッシュボードビュー url(r '^ dashboard/payp URL(r "、include(application.urls))、 #url(r '^ myapp_o /'、include( 'myapp_o.urls'))、 ) – evepokua

関連する問題