Django 2.2.3 Как составить список всех страниц проекта и связать его с моделями выбора полей - PullRequest
0 голосов
/ 09 июля 2019

Я столкнулся с трудностью в том, что теперь у меня есть модель в моих моделях, у меня есть поле выбора.Я хочу, чтобы этот пользователь создал слайдер и связал его с существующим URL страницы.

Это мой utils.py ( URL исходного кода ), содержащий:

from django.conf import settings

from django.urls import get_resolver, URLPattern, URLResolver

urlconf = __import__(settings.ROOT_URLCONF, {}, {}, [''])


def list_urls(lis, acc=None):
    if acc is None:
        acc = []
    if not lis:
        return
    l = lis[0]
    if isinstance(l, URLPattern):
        yield acc + [str(l.pattern)]
    elif isinstance(l, URLResolver):
        yield from list_urls(l.url_patterns, acc + [str(l.pattern)])

    yield from list_urls(lis[1:], acc)


def get_list_urls():
    RESOLVERS_LIST = list()
    i = 0
    for u in list_urls(urlconf.urlpatterns):
        value = ''.join(u), str(''.join(u)).upper()
        RESOLVERS_LIST.append(value)
    return RESOLVERS_LIST

Myмодели:

@python_2_unicode_compatible
class Slider(models.Model):
    LIST_PAGES_URLS = get_list_urls()
    master_start = models.IntegerField(default=1000, blank=True)
    master_end = models.IntegerField(default=5000, blank=False, null=True)
    view_to_add = models.CharField(_("Assoc page url ?"), max_length=100, choices=LIST_PAGES_URLS)

    def __str__(self):
        return self.get_view_to_add_display()

    class Meta:
        verbose_name = _("Slider")

Моя главная проблема заключается в том, что когда я пытаюсь импортировать свой класс модели в admin.py.

*Server return me ImportError: cannot import name 'Slider'*

Я использую Python 3.7 и Django 2.2.3 ...Пожалуйста, помогите!

...