template personalizar error custom django views django-urls

personalizar - ¿No se encuentra la página 404 en el sitio de Django?



personalizar 404 django (11)

2017-10-05_12: 03 ~ / mysite / mysite
$ vi urls.py 2017-10-05_12: 04 ~ / mysite / mysite
$ cd ../ .. 2017-10-05_12: 04 ~
$ mv mysite SENSIBLE_NAME_DJANGO_ROOT

Sigo el tutorial en el sitio de Django para crear una aplicación de encuesta simple. Sin embargo, Django no puede resolver "//127.0.0.1:8000/polls", aunque he definido la expresión regular en mySite / urls.py. Estoy haciendo esto en un virtualenv, con el último Django (1.7) instalado.

mySite / urls.py:

from django.conf.urls import patterns, include, url from django.contrib import admin urlpatterns = patterns('''', url(r''^admin/'', include(admin.site.urls)), url(r''^polls/'', include(''polls.urls'')), )

mySite / polls / urls.py:

from django.conf.urls import patterns, url from polls import views urlpatterns = patterns('''', url(r''^$'', views.index, name=''index''), )

mySite / polls / views.py:

from django.shortcuts import render from django.http import HttpResponse def index(request): return HttpResponse("Hello, world. You''re at the polls index.")

mySite / settings.py:

... INSTALLED_APPS = ( ''django.contrib.admin'', ''django.contrib.auth'', ''django.contrib.contenttypes'', ''django.contrib.sessions'', ''django.contrib.messages'', ''django.contrib.staticfiles'', ''polls'', ) .... ROOT_URLCONF = ''mySite.urls''

El error que estoy recibiendo:

Using the URLconf defined in mySite.urls, Django tried these URL patterns, in this order: ^admin/ The current URL, polls, didn''t match any of these.


Agregue la siguiente línea en su Mysite/urls.py

url(r''^$'', views.index, name=''index''),

y comprobar Si ha creado su proyecto correctamente, debería funcionar. Si no, algo como lo anterior podría haber tenido más de un archivo tan confundido.


Dependiendo de dónde coloque su URL ROOT.py, configure su ROOT_URLCONFIG en consecuencia, si lo tiene en la carpeta más externa que contiene manage.py, entonces "urls" está bien. si lo tiene en otra carpeta, entonces tiene que hacer ".urls"

Crédito por la respuesta a

Para obtener más información acerca de cómo funciona, verifique cómo Django procesa una solicitud


Django no puede resolver 127.0.0.1:8000/polls porque url config definido como r''^polls/'' .

Solución habitual:

mySite / urls.py:

from django.conf.urls import patterns, include, url from django.contrib import admin urlpatterns = patterns('''', url(r''^admin/'', include(admin.site.urls)), url(r''^polls/'', include(''polls.urls'')), )

Nota: Cada vez que Django se encuentra con (), corta cualquier parte de la URL que haya coincidido hasta ese punto y envía la cadena restante al URLconf incluido para su posterior procesamiento.

mySite / polls / urls.py:

from django.conf.urls import patterns, url from polls import views urlpatterns = patterns(''polls.views'', url(r''^$'', ''index'', name=''index''), )

Nota: en lugar de escribir eso para cada entrada en urlpatterns, puede usar el primer argumento de la función patterns () para especificar un prefijo para aplicar a cada función de vista.

Responder si

Si desea acceder a 127.0.0.1:8000/polls Nota: sin barra diagonal al final

usar la vista basada en url

url(r''^polls'', ''polls.views.index'', name=''index''),

Así que ahora puedes acceder a 127.0.0.1:8000/polls sin barra diagonal.


En mi caso, fue un error estúpido . Quería integrar el plugin django-tinymce, y probarlo. Así que siguiendo this guía, hice el paso 3 y exporté la variable a la ruta. Cuando el servidor se ejecutó de nuevo, recibí el error no encontrado, mostrando el mensaje:

Usando el URLconf definido en testtinymce.urls, Django probó estos patrones de URL, en este orden: ....

Pero no sabía exactamente qué era, hasta que recordé haber exportado la variable DJANGO_SETTINGS_MODULE

ejecutar un unset DJANGO_SETTINGS_MODULE en el terminal resolvió mi problema. Espero que ayude a alguien también.


En realidad, el problema es que no notó que mysite / urls.py y polls / urls.py son dos archivos diferentes y modificó polls / urls.py en lugar de poner mysite / urls.py en el archivo urls.py. ..mysite / carpeta de mi sitio.


Está accediendo a http://yourdomain.com/ y no tiene ninguna URL definida para "/".

Tienes dos opciones:

  1. Si desea acceder a la página de índice de su aplicación de encuestas, debe ingresar la URL: sudominio.com/polls

  2. También puede modificar su archivo mySite / urls.py para acceder solo desde sudominio.com

    from django.conf.urls import patterns, include, url from django.contrib import admin urlpatterns = patterns('''', url(r''^admin/'', include(admin.site.urls)), url(r''^$'', include(''polls.urls'')), )


Para dejar clara la respuesta para los principiantes que tienen este problema siguiendo el tutorial, la raíz del proyecto URLconf es la que está en la misma carpeta que settings.py, que es:

mysite/mysite/urls.py

Solo asegúrate de importar ''incluir''. El código se ve como:

from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r''^admin/'', admin.site.urls), url(r''^polls/'', include(''polls.urls'')), ]

Así que en mysite / mysite / settings.py:

La línea debe ser:

ROOT_URLCONF = ''mysite.urls''

No es necesario crear una nueva raíz nueva URLconf.


Usted coloca la carpeta urls.py en la carpeta externa de MySite, se supone que debe colocarla en la interna, por lo que no es mySite / urls.py, sino mySite / mySite / urls.py:

Me encontré con el mismo error cuando hice el tutorial


Yo tuve el mismo problema.

Resulta que estaba confundido debido a los múltiples directorios llamados "mysite".

Creé erróneamente un archivo urls.py en el directorio raíz "mysite" (que contiene "manage.py"), luego pegué el código del sitio web.

Para corregirlo, eliminé este archivo, ingresé en el directorio mysite / mysite (que contiene "settings.py"), modifiqué el archivo "urls.py" existente y reemplacé el código con el código del tutorial.

En pocas palabras, asegúrese de que su archivo urls.py esté en el directorio correcto.


from django.conf.urls import include, url from django.contrib import admin from polls import views urlpatterns = [ url(r''^admin/'', admin.site.urls), url(r''^polls/'', include(''polls.urls'', namespace=''polls'')), url(r''^$'', views.index, name=''index''), ]