0

私は逆またはreverse_lazy使用しようとすると、私は次のようなメッセージを持っている:DjangoのURL confのエラー

含まURLconfの「ph.urls」は それに任意のパターンを持っているように見えていません。あなたは、ファイル内の有効なパターンが表示されている場合、私は(または逆怠惰逆使用せずに)URLを使用する場合、問題はおそらく、円形の輸入によって引き起こさ

あるなしの問題に取り組んでいます。違う組み合わせのURLを試しました。同じ結果が

私は間違っていますか?

phはプロジェクトです。

from django.conf import settings 
from django.conf.urls import url, include 
from django.contrib import admin 

urlpatterns = [ 

    url(r'^account/', include('accounts.urls', namespace='accounts')), 
    url(r'^companies/', include('companies.urls', namespace='companies')), 
    url(r'^products/', include('products.urls', namespace='products')), 
    url(r'^admin/', admin.site.urls), 

] 

# debug toolbar 
if settings.DEBUG: 
    import debug_toolbar 
    urlpatterns += [ 
     url(r'^__debug__/', include(debug_toolbar.urls)), 
    ] 

アプリ関与:

1)アカウント:

from django.conf.urls import url 
from .views import AccountDetailView 

urlpatterns = [ 
    url(r'$', AccountDetailView.as_view(), name='dashboard'), 

2)製品:

class ProductCreateView(AccountMixin, CreateView): 
    model = Product 
    form_class = ProductModelForm 
    url = reverse_lazy('accounts:dashboard') 
    url2 = reverse_lazy('products:list') 
    #print(url) 
    template_name = 'accounts/product_form.html' 
    #success_url = reverse_lazy('accounts:product_detail') 
+1

がフルのpHのURLのファイルを表示してください。 –

+0

@DanielRosemanは – user3541631

+0

を更新しました。 'success_url = reverse_lazy( 'accounts:product_detail')'を使用するとうまくいくはずです。しかし、結果を表示したり、クラスベースのビューを定義するときに 'reverse'を使うべきではありません。さもなければDjangoはURL configがロードされる前にURLを逆転しようとします。 – Alasdair

答えて

0

私は解決したプロジェクトで、私は、アプリケーションのURLが含まれます問題;

私はget_success_url()を使ってreverse()を呼び出しました。

URLにkwargsを渡す必要があるため、reverse_lazyが機能しませんでした。そのことを忘れました。

デフget_success_url(自己): 戻り逆( 'アカウント:product_detail'、kwargsから= { 'PK':self.object.pk})