0

У меня есть следующее сообщение, когда я пытаюсь использовать реверс или reverse_lazy:Django URL ошибки конф

Прилагаемый привязок «ph.urls» не содержит каких-либо закономерностей в это. Если вы видите действительные модели в файле, то проблема, вероятно, вызвано кругового импортом

Когда я использую URLs (без использования обратных или обратных ленивым) работает без каких-либо проблем. Я пробовал разные комбинации URL-адресов те же результаты

Что я делаю неправильно?

ph - это проект. В проекте я включить URLs для применения:

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

Пожалуйста, покажите полный файл фот URL. –

+0

@ DanielRoseman обновлен – user3541631

+0

Использование 'success_url = reverse_lazy ('accounts: product_detail')' должно быть в порядке. Тем не менее, вы не должны печатать результат или использовать «обратный» при определении своего представления на основе класса, иначе Django попытается изменить URL-адрес до загрузки конфигурации URL-адреса. – Alasdair

ответ

0

Я решаемые проблема;

Я использовал get_success_url(), вызывающий reverse() внутри.

обратный_lazy не работает, потому что необходимо было передать kwargs для URL-адреса, и я забыл об этом.

Защиту get_success_url (Я): возвращение назад ('счета: product_detail', kwargs = { 'рк': self.object.pk})