0

,我有以下消息時,我嘗試使用逆轉或reverse_lazy:Django的URL設置錯誤

所包含的URLconf「ph.urls」沒有出現有任何圖案 它。如果您在文件中看到有效的模式,則問題可能引起的圓形進口

當我使用的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配置之前反轉URL。 – Alasdair

回答

0

我解決問題;

我用get_success_url()調用reverse()裏面。

reverse_lazy沒有工作,因爲它有必要通過kwargs的URL,我忘了這一點。

高清get_success_url(個體經營): 回報反向(賬戶:product_detail',kwargs = { 'PK':self.object.pk})