Страница не найдена (404) Не найдено ни одного поста, соответствующего запросу
Я работаю с Django и я только начинающий. Я следую этому учебнику для создания контактной формы. Но у меня возникает ошибка, когда я хочу перейти на этот URL: http://127.0.0.1:8000/contact/. В моем проекте есть 3 приложения (Posts, Users и Contact):
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Posts',
'Users',
'crispy_forms',
'Contact',
А вот urls.py
в моем проекте :
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('' , include('Posts.urls')),
path('',include('Contact.urls')),
]
И это urls.py
в моем Contact
приложении:
from django.urls import path
from Contact import views
app_name = "Contact"
urlpatterns = [
path('contact/', views.context, name="contact"),
]
А это views.py
в моем приложении Контакт:
from django.shortcuts import render, redirect
from .forms import ContactForm
from django.core.mail import send_mail, BadHeaderError
from django.http import HttpResponse
def context(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
subject = "Website Inquiry"
body = {
'first_name' : form.cleaned_data['first_name'],
'last_name' : form.cleaned_data['last_name'],
'email' : form.cleaned_data['email_address'],
'message' : form.cleaned_data['message'],
}
message = "\n".join(body.values())
try:
send_mail(subject, message,'admin@example.com', ['admin@example.com'])
except BadHeaderError:
return HttpResponse('Invalid header found.')
return redirect("Posts:home")
form = ContactForm()
return render(request, "Posts/templates/contact/contact.html", {'form':form})
У меня есть папка templates в приложении Posts, а внутри нее 3 папки и я поместил свой contact.html в папку contact (одну из трех). файлы и папки
Это ссылка на мой проект.
Я прочитал около 10 сообщений, которые были посвящены этой проблеме, но, к сожалению, я не смог решить ее. Я буду благодарен за вашу помощь.
Ошибка здесь:
urlpatterns = [
path('admin/', admin.site.urls),
path('' , include('Posts.urls')),
path('',include('Contact.urls')),
]
Второй и третий URL указывают на один и тот же путь. Измените их на:
urlpatterns = [
path('admin/', admin.site.urls),
path('posts/', include('Posts.urls')),
path('contact/', include('Contact.urls')),
]
А также в urls.py
в Contact
сделайте следующее:
urlpatterns = [
path('', views.context, name="contact"),
]