Почему мое приложение Django не может найти мою функцию в представлениях?

#python #html #django

#питон #HTML #джанго

Вопрос:

Я новичок в Django и пытаюсь создать простую веб-страницу» Привет, мир». Я создал проект и приложение, но в urls.py в моем приложении говорится, что функция, которую я определил в представлениях, не может быть найдена. Pycharm, похоже, даже не распознает две строки моей функции, потому что в ней написано «ожидалось 2 пустых строки, найдено 1», хотя это может быть не то, что это означает. Любые идеи приветствуются.

views.py:

 from django.shortcuts import render from django.http import HttpResponse  def home(response):  return HttpResponse('Hello World')  

из главного(мое приложение)/urls.py:

 from django.urls import path  from . import views  urlpatterns = [  path('', home, name='home'), ]     

Комментарии:

1. Я вижу, что вы новый пользователь stackoverflow. Пожалуйста, если/когда вы зададите больше вопросов, поместите свой код в сообщение, а не во внешний скриншот. Это облегчает людям повторение вашей проблемы и попытку помочь.

2. Спасибо. Будем делать

Ответ №1:

Измените файл URL-адресов следующим образом:

 from .views import home  urlpatterns = [  path('', home, name='home'),  ]  

Комментарии:

1. Это дает мне еще одну ошибку: «Неразрешенная ссылка «домой»»

Ответ №2:

Я нашел решение. По-видимому, по крайней мере в Pycharm все определения функций должны иметь 2 строки пространства между ними и другим кодом. Как вы можете видеть, у меня была только одна строка пространства между моим определением функции и моим импортом в строке выше в view.py.

Комментарии:

1. Извините, но количество пустых строк-это просто вопрос стиля. PyCharm выделяет это, потому что принято (в мире Python это называется PEP-8) иметь две пустые строки. Это ни в коем случае не меняет логику программы. Кроме того, использование IDE (PyCharm) не влияет на ошибки программы. Итак, вы, должно быть, изменили что-то еще, что решило вашу проблему 🙂