2017-05-08 8 views
1

私がしようとしていることの簡単な説明は、 'home.html'ウェブページ(ホームアプリケーションに存在する)にアクセスする際に、 'rates.html 'ウェブページ(これは、レートのアプリケーションに存在する)、私はこれを達成しようとした方法は次のとおりです。引数 '()'およびキーワード引数 '{}'がない 'home'のために逆転します。 0パターン

私はここで他の同様の問題を見て、彼らはすべてのコードのappname \ urls.py部分に名前空間の部分を指定することを忘れているようです。私はこれをapp_name = '[namespace]'をurls.pyに正しく指定したように感じる。

それは私の問題への具体的な表示されていること、正確なエラーは次のとおりです。

の引数を持つ「ホーム」のためのリバース「()」とキーワード引数「{}」が見つかりません。 0パターン(複数可)を試みた:[]

エラーが 'rate.html' 上のHTMLコードの行強調表示:

<div id="logoholder"> 
    <a href="**{% url 'getrate:home' %}**"><img src="{%static 
    'home/images/transparentWatermark.png' %}" width="40" height="40" 
    style="margin:5px 10px"></a> 
</div> 

getrate \ urls.py:

from django.conf.urls import url, include 
from . import views 

app_name = 'getrate' 

urlpatterns = [ 
    url(r'^$', views.ViewRate, name='rate'), 
    url(r'^home/', include('home.urls', namespace='home')), 
] 

ホーム\をurls.py

from django.conf.urls import url, include 
from . import views 

app_name = 'home' 

urlpatterns = [ 

    url(r'^$', views.ViewHome, name='home'), 
] 

個人用サイト\

urls.py

rate.htmlには、{%url 'getrate:home'%}経由でgetrate \ urls.pyをトリガーするクリックできる会社のロゴがあります。 getrate \ urls.pyコードにはhome \ urls.pyが含まれています。この部分は、そのコード行にネームスペースのホームがあるためトリガーされます。今度はhome \ urls.pyを見て、最後に正規表現マッチングを終了します。私がどうやって間違っているか教えてください。

お時間をいただきありがとうございます。

答えて

1

このようなURLが存在しないため、このエラーが発生しています。

あなたがnamespace Sを混合し、app_name秒で自分のために不必要な混乱を引き起こしているすべてのまずAPP_NAME引数の

のサポートが廃止されており、 ジャンゴ2.0で削除されますのでご注意下さい。 URL名前空間で説明し がURLconfの代わりに

を含めてAPP_NAMEを指定

REF:https://docs.djangoproject.com/en/1.11/ref/urls/

第二に、私は本当にあなたがこれでない限り、(3つの別々のurls.pyファイルを持っている必要がある理由が表示されませんあなたが再配布のためにビルドしているアプリ)。あなたが合計3つのURLしか持っていないので、単一のメインurls.pyは十分に十分です。

これを維持したい場合は、app_nameを削除し、名前空間パラメータのみを使用してもう一度お試しください。

+0

"このようなURLは存在しないため、このエラーが発生しています!" - 私がそれを理解する方法/ home/urlを取得しています。 –

+0

明らかにそうではありません。そのエラーをどうやって得られますか? – e4c5

+0

私の答えで言及したように、あなたはnamespaceとapp_nameの矛盾した指令を持っています。 app_namesを残してください – e4c5

0

答えが直接的な問題を解決したにもかかわらず、私が実行しようとしていた機能(他のアプリケーションのHTMLページにリダイレクトされていた機能)を達成できませんでした。私が正しく理解していなかったのは、URLのワークフローでした。私はあなたが主なウェブサイトのurls.pyコードの代わりに、そのアプリケーションのurls.pyコードを最初に見ているURLを使用するアプリケーションから考えました。

実際のワークフローは、mysite/urls.py - >(ライブラリをインポートして使用する場合) - > app1/urls.py - > app2/urls.py - > app#/ urlsです。 py。だから常にメインのurls.pyから始まる

この概念の誤解のため、私のエラーは各アプリケーションからの各urls.pyコードを相互にリンクして、あらゆる種類のエラー、無限ループなどにつなげようとしていた。

関連する問題

 関連する問題