Обновление Django с 1.11 до 2.2.1 Проблема с URL и путями - PullRequest
0 голосов
/ 03 мая 2019

Сегодня я решил обновить свой проект с Django 1.11 до 2.2.1.Я работал над различными проблемами с моим проектом, и я борюсь с ними.Однако большую часть вечера я потратил на то, чтобы заставить URL работать, и они не будут сотрудничать.Короче говоря, у меня есть несколько приложений в моем проекте, и у каждого приложения есть URL со своим собственным пространством имен.В Django 1.11 это работает нормально.Тем не менее, когда я пытаюсь перенести логику на Django 2.2.1, я получаю сообщение об ошибке, в котором говорится, что у меня где-то есть циклический импорт.

Вот фрагмент того, что прекрасно работает в Django 1.11 .......

Мой главный проект ... В Django 1.11

url(r'^Main/',include('AppA.urls',namespace="AppA")),

Нокогда я пытаюсь сделать это в Django 2.2.1 .....

я понимаю, что URL-адреса были заменены путями ...

path('', include('AppA.urls')),

Но когда я пытаюсь запустить свое приложениеон говорит ....

your project does not appear to have any patterns in it. If you see valid p
atterns in the file then the issue is probably caused by a circular import.

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

Я смотрел на это большую часть вечера, и, возможно, поэтому я его не вижу ... Я также посмотрел на документ Django ... https://docs.djangoproject.com/en/2.2/topics/http/urls/ И я простоне вижу, что я могу делать неправильно.Заранее благодарен за любую помощь, чтобы вернуть меня в нужное русло.

Ответы [ 2 ]

1 голос
/ 03 мая 2019

Как указывал мне Кровавый Колодец ...

Мне нужно было добавить ....

app_name = 'Appa'

к началу моего файла urls.py. После этого URL-адрес пути работал как положено.

1 голос
/ 03 мая 2019

Вместо path() рассмотрите возможность использования re_path () :

from django.urls import include, re_path

re_path(r'^Main/',include('AppA.urls',namespace="AppA")),
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...