Django - Url Patatterns доза не работает - PullRequest
0 голосов
/ 28 августа 2018

Я начал работать с Django вчера, и у меня есть небольшая ошибка. Я искал в Интернете, но я не могу найти ответ на мою проблему. Я сделал основное приложение, а затем сделал небольшое приложение и попытался связать его с основным. Вот мой код

urls.py

from django.contrib import admin
from django.urls import path, include

ulrpatterns = [
  path('admin/', admin.site.urls),
  path('^$', include('personal.urls'));
]

в личных именах у меня

from django.urls import path, include
from . import views

ulrpatterns = [
  path('^$', views.index, name="index");
]

и в views.index у меня есть

def index(request):
    return render(request, 'personal/home.html')

Любая помощь будет потрясающей, спасибо !!!

1 Ответ

0 голосов
/ 28 августа 2018

Вы используете неправильный инструмент здесь: начиная с , существует два основных способа указать URL:

  1. с регулярным выражением через re_path [Джанго-док] , url [Джанго-док] является «псевдоним» этого, но, вероятно, в конечном итоге станет устаревшим; и
  2. с использованием специального синтаксиса "шаблона пути" с path [Django-doc]

Здесь вы как-то смешали два и используете функцию path(..) для "заданного регулярным выражением" URL.

Использование path для шаблона пути * на основе 1033 * URL

Мы также можем исправить это с помощью path:

#  urls.py

from django.contrib import admin
from django.urls import <b>path</b>, include

ulrpatterns = [
  <b>path</b>('admin/', admin.site.urls),
  <b>path</b>('', include('personal.urls'));
]

и

#  personal/urls.py

from django.urls import <b>path</b>, include
from . import views

ulrpatterns = [
  <b>path</b>('', views.index, name="index");
]

Использование re_path для регулярного выражения * на основе 1045 * URL-адресов

Мы также можем исправить это, используя re_path вместо:

#  urls.py

from django.contrib import admin
from django.urls import <b>re_path</b>, include

ulrpatterns = [
  <b>re_path</b>('admin/', admin.site.urls),
  <b>re_path</b>('^$', include('personal.urls'));
]

и

#  personal/urls.py

from django.urls import <b>re_path</b>, include
from . import views

ulrpatterns = [
  <b>re_path</b>('^$', views.index, name="index");
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...