0

ビューからDjango Urlをマッピングするこの以下の方法は、Django 1.9以降では廃止されているため

url(r'^contact/$', 'newsletter.views.contact', name='contact'),

url(r'^about/$', 'home.views.about', name='about'),

そして、これが現在設置されているものです

ニュースレターのインポート ビューから

url(r'^about/$', 'views.about', name='about'),

2 つの異なるアプリ ビューの URL をマップする方法

ホームインポートビューから

ニュースレターのインポート ビューから

url(r'^home/$', 'views.home', name='home'), #自宅にある

url(r'^about/$', 'views.about', name='about'), #ニュースレターに記載

上記のようにマッピングするとエラーが発生するため、助けが必要です。Django の初心者

4

3 に答える 3

1

非推奨の完全修飾モジュール名を使用することの意味がわかりません。これは、コアの python コンストラクトであるためです。ただし、「import as」ステートメントを使用して異なるエイリアスにバインドすることにより、同じ名前のサブモジュールを含む 2 つの異なるモジュールを管理できます。

例:

from home import views as home_view
from newsletter import views as news_view

home_view次に、エイリアスとを使用して、宣言された名前空間全体で、のnews_view代わりに各モジュールを参照できます。views

こちらの Python ドキュメントで import ステートメントの構文を確認できます。

要求されたモジュールが正常に取得されると、次の 3 つの方法のいずれかでローカル名前空間で使用できるようになります。

  • モジュール名の後に as が続く場合、as に続く名前はインポートされたモジュールに直接バインドされます。
  • 他の名前が指定されておらず、インポートされるモジュールが最上位モジュールである場合、モジュールの名前はインポートされたモジュールへの参照としてローカル名前空間にバインドされます
  • インポートされるモジュールが最上位モジュールでない場合、そのモジュールを含む最上位パッケージの名前は、最上位パッケージへの参照としてローカル名前空間にバインドされます。インポートされたモジュールには、直接ではなく完全修飾名を使用してアクセスする必要があります
于 2016-08-20T13:01:01.730 に答える
0

試す:

from home import views as home_views

from newsletter import views

url(r'^home/$', 'home_views.home', name='home'), #located in home

url(r'^about/$', 'views.about', name='about'), #located in newsletter
于 2016-08-20T11:38:53.710 に答える