es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Por qué estoy obteniendo este error cuando intento cambiar de páginas HTML?

Hice archivos básicos de HTML/CSS, que estoy tratando de ejecutar a través de Django, pero cada vez que lo ejecuto e intento cambiar de página, obtengo este error:

Página no encontrada (404)
Método de solicitud: GET
URL de solicitud: http://127.0.0.1:8000/about.html
Utilizando el URLconf definido en test.urls, Django intentó estos patrones de URL, en este orden:

admin/
[nombre='main']
add [nombre='about']
La ruta actual, about.html, no coincide con ninguno de estos.

Aquí está cómo se ve mi archivo .urls:

from django.contrib import admin
from django.urls import path
from . import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('add',views.about,name='main.html'),
    path('add',views.about,name='about.html')
]

Aquí está cómo se ve mi archivo .views:

from django.shortcuts import render

def main(request):
    return render(request,'main.html')
def about(request):
    return render(request, 'about.html') 

Por último, aquí está la sección de mi archivo de Configuración que modifiqué para encontrar el archivo:

'DIRS': [os.path.join(BASE_DIR,'templates')],
    'APP_DIRS': True,

¿Hay algo más que deba hacer para que esto funcione?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el patrón de URL definido en su archivo de URL no incluye una coincidencia exacta para la página “about.html”. Actualmente, los patrones de URL definidos son solo para “admin/”, “[name=’main’]” y “add” con el parámetro “name=’about.html'”.

    Para solucionar esto, puede agregar un nuevo patrón de URL para “about.html” de la siguiente manera:

    path('about/', views.about, name='about'),
    

    Esto asignará la extensión URL “about/” a la función de vista “about()”.

    Luego, para acceder a la página “about.html”, puede navegar a `http://127.0.0.1:8000/about/`.

    También puede ser necesario actualizar los enlaces a la página en sus archivos HTML para que apunten a la nueva URL, por ejemplo, <a href="/about/">About</a>.

    Una vez que se define el patrón de URL, Django podrá encontrar la función de vista correcta para manejar la solicitud y renderizar la plantilla “about.html”.

Comments are closed.