Страница не найдена (404) Не найдено записи, соответствующей запросу

#python #django

Вопрос:

Я работаю с Django, и я всего лишь новичок. Я следую этому руководству, чтобы создать контактную форму. Но у меня есть эта ошибка, когда я хочу перейти по этому URL: http://127.0.0.1:8000/contact/.

Ошибка

У меня есть 3 приложения в моем проекте(Сообщения, Пользователи и контакты).:

 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})
 

У меня есть папка шаблонов в приложении «Сообщения», и внутри нее у меня есть 3 папки, в которые я помещаю свои contact.html в папке «Контакты» (одна из трех).
файлы и папки

Это ссылка на мой проект.

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

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

1. 127.0.0.1-это ваш локальный хост. Вы проверили, работает ли ваш сервер из вашего браузера?

2. извините, я не понял. Вы имеете в виду, что я добавил его в свой ALLOWED_HOST или нет? @d6stringer

3. должны ли строки form = ContactForm() и return render(request, "Posts/templates/contact/contact.html", {'form':form}) вкладки находиться на верхнем уровне?

4. Я проверил свой проект, и он работал должным образом. Но это не работает для этого URL-адреса. Может быть, я предполагаю, что это может быть потому что не может найти мой файл contact.html 🤔

5. да, извините. Они функционируют, но из ifs.@Zev

Ответ №1:

Ошибка здесь:

 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"),
]