Изучая курс Удеми, который я изучаю под ником Уолтером в Django, я пишу свое собственное приложение «Редактирование кредитной карты».Основной функционал на месте.Но сейчас я пытаюсь добавить приложение для публикации в блоге.Я успешно инициировал приложение, используя $ python3 manage.py startapp posts
.Но как только я начал заполнять urls.py, template и sub-views, мой сервер перестал работать.Я получаю:
Файл "/home//dev/projects/python/2018-and-2019/CC_Redact/CC_Redact/urls.py", строка 10, в
url(r'^$', views.home, name='home'),
AttributeError: модуль 'posts.views' не имеет атрибута 'home'
Это Django 2.0 с Python 3.6, использующий встроенный тестовый сервер (пока его нет рядом с рабочей средой).Я запускаю свой код в активированной виртуальной среде.Это содержание моих требований.txt:
Django == 2.0.13
Подушка == 5.4.1
psycopg2 == 2.7.7
psycopg2-binary == 2.7.7
pytz == 2018.9
Довольно просто, верно?
urls.py в моей основной папке проекта:
from django.contrib import admin
from django.urls import path
from . import views
from posts import views
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^$', views.home, name='home'),
url(r'^result/', views.result, name='result'),
url(r'^james/', views.posts, name='james'),
views.py (в папке приложения):
from django.shortcuts import render
# Create your views here.
def james(request):
return render(request, 'posts/james.html')
Как видите, я назвалмоя функция "Джеймс", а также мой шаблон.
Вот posts / templates / posts / james.html :
from django.shortcuts import render
# Create your views here.
def james(request):
return render(request, 'posts/james.html')
Наконец, вот мойДерево файлов и структура каталогов:
.
Когда я запускаю сервер, я ожидаю увидеть "Вы в сообщениях Джеймса!"жирным шрифтом при переходе на localhost: 8000 / постов.Вместо этого я получаю:
python manage.py runserver
Performing system checks...
Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7f41c70286a8>
Traceback (most recent call last):
File "/home/<user>/dev/projects/python/2018-and-2019/CC_Redact/venv/lib/python3.6/site-packages/django/utils/autoreload.py", line 225, in wrapper
fn(*args, **kwargs)
File "/home/<user>/dev/projects/python/2018-and-2019/CC_Redact/venv/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 120, in inner_run
self.check(display_num_errors=True)
File "/home/<user>/dev/projects/python/2018-and-2019/CC_Redact/venv/lib/python3.6/site-packages/django/core/management/base.py", line 364, in check
include_deployment_checks=include_deployment_checks,
File "/home/<user>/dev/projects/python/2018-and-2019/CC_Redact/venv/lib/python3.6/site-packages/django/core/management/base.py", line 351, in _run_checks
return checks.run_checks(**kwargs)
File "/home/<user>/dev/projects/python/2018-and-2019/CC_Redact/venv/lib/python3.6/site-packages/django/core/checks/registry.py", line 73, in run_checks
new_errors = check(app_configs=app_configs)
File "/home/<user>/dev/projects/python/2018-and-2019/CC_Redact/venv/lib/python3.6/site-packages/django/core/checks/urls.py", line 13, in check_url_config
return check_resolver(resolver)
File "/home/<user>/dev/projects/python/2018-and-2019/CC_Redact/venv/lib/python3.6/site-packages/django/core/checks/urls.py", line 23, in check_resolver
return check_method()
File "/home/<user>/dev/projects/python/2018-and-2019/CC_Redact/venv/lib/python3.6/site-packages/django/urls/resolvers.py", line 399, in check
for pattern in self.url_patterns:
File "/home/<user>/dev/projects/python/2018-and-2019/CC_Redact/venv/lib/python3.6/site-packages/django/utils/functional.py", line 36, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home/<user>/dev/projects/python/2018-and-2019/CC_Redact/venv/lib/python3.6/site-packages/django/urls/resolvers.py", line 540, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home/<user>/dev/projects/python/2018-and-2019/CC_Redact/venv/lib/python3.6/site-packages/django/utils/functional.py", line 36, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home/<user>/dev/projects/python/2018-and-2019/CC_Redact/venv/lib/python3.6/site-packages/django/urls/resolvers.py", line 533, in urlconf_module
return import_module(self.urlconf_name)
File "/home/<user>/dev/projects/python/2018-and-2019/CC_Redact/venv/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/<user>/dev/projects/python/2018-and-2019/CC_Redact/CC_Redact/urls.py", line 10, in <module>
url(r'^$', views.home, name='home'),
AttributeError: module 'posts.views' has no attribute 'home'
edit: btw: Вот мой проект на GitHub .Я принимаю запросы на выдачу.