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})