Проект django, созданный на примере Python-socketio django, не может обслуживать другие URL-адреса (по крайней мере, в django 1.11)

После игры с python-socketios django_example и, увидев, что он работает отлично, я создал новый проект django, настроил его так же, как пример, скопировал приложение-пример в проект (вместе с переопределением команды управления runserver). Все работало нормально, и я смог внести несколько изменений, чтобы вы могли установить ник, некоторые вещи, относящиеся к redis, чтобы найти sid для псевдонима, и мог поддерживать отправку личных сообщений нику. Все все еще работало отлично.

Я подумал, что следующим логическим шагом было, вместо того, чтобы вручную устанавливать ник, требовать от пользователя входа в систему, выставлять свое имя пользователя как переменную в блоке скрипта в шаблоне (я переместил scripts/index.html в templates/index.html) и автоматически заставляет javascript отправлять мое пользовательское событие 'set_nick' с именем пользователя автоматически при подключении.

Я определил LOGIN_URL = '/accounts/login' в settings.py, включил django.contrib.auth.urls в мой urls.py и обернул представление индекса @login_required,

Только тогда я заметил, что независимо от того, какой URL вы запрашиваете, вы всегда получаете индексное представление приложений чата - перенаправление страницы входа в систему, "/admin/" игнорируется и т. Д.

РЕДАКТИРОВАТЬ Решено - см. Мой ответ ниже.

1 ответ

Решение

Я заметил, что urls.py который я слепо скопировал из примера, выглядело так:

url(r'', include('socketio_app.urls')),
url(r'^admin/', admin.site.urls), 

и r'' был виновником (соответствует всему). Меняя это на:

url(r'^/', include('socketio_app.urls)),
url(r'^admin/', admin.site.urls),

Тем не менее, я использую Django==1.11. Я считаю, что Django 2 имеет тенденцию предлагать использовать path (или некоторая функция с аналогичным именем) вместо использования url, Я не верю, однако, что семантика url различаются в Django 2, так что это, вероятно, проблема и для пользователей Django 2.

Другие вопросы по тегам