poner - tutorial django
Configurado incorrectamente: el urlconf<project>.urls incluido no tiene ningún patrón en él (5)
Entonces, en realidad encontré un problema similar. Casualmente después de publicar en los números de django-stronghold . El problema es, de hecho, debido a una configuración faltante en django-debug-toolbar.
La configuración que te falta es:
DEBUG_TOOLBAR_PATCH_SETTINGS = False
Funcionará con runserver, pero si intentas ejecutarlo con honcho, gunicorn o cualquier otra cosa que use la interfaz WSGI, explotará.
¡Espero que esto ayude!
EDITAR: como se menciona a continuación por @japhyr, es útil verificar las instrucciones de configuración explícitas: http://django-debug-toolbar.readthedocs.org/en/1.0/installation.html#explicit-setup
Tengo un proyecto django (1.6.x) que funciona bien con el servidor de desarrollo, pero está fallando bajo Apache2 (2.2.22.1) y mod_wsgi (3.3-4) en Ubuntu 12.04.3 con el error
Configurado incorrectamente: el urlconf erp.urls incluido no tiene ningún patrón en él
No entiendo por qué funcionaría con el servidor de desarrollo pero no con Apache2 / mod_wsgi y me es difícil rastrear de dónde proviene el error.
Hay varias otras preguntas similares, pero el único lugar que uso al revés (un problema encontrado anteriormente) está en get_absolute_url en mis modelos. ¿Esto debería estar bien?
El proyecto está configurado al estilo de Two Scoops, en particular, el diseño es:
<repository_root>/<django_project_root>/<configuration_root>/
que se traduce a:
erp_root/erp/erp/
y la configuración es
erp_root/erp/erp/settings/*py
(incluido el __init__.py
)
erp / urls.py;
from django.conf import settings
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('''',
url(r''^$'', ''django.contrib.auth.views.login'', {''template_name'': ''login.html''}),
url(r''^admin/'', include(admin.site.urls)),
url(r''^login/$'', ''django.contrib.auth.views.login'', {''template_name'': ''login.html''}, name=''login''),
url(r''^logout/$'', ''django.contrib.auth.views.logout_then_login'', {}, name=''logout''),
url(r''^search/'', include(''haystack.urls'')),
url(r''^inventory/'', include(''inventory.urls'')),
)
if settings.DEBUG:
import debug_toolbar
urlpatterns += patterns('''',
url(r''^__debug__/'', include(debug_toolbar.urls)),
)
e inventario / urls.py:
from django.conf.urls import url, patterns
from .forms import CarrierWizardForm1, CarrierWizardForm2, MovementWizardForm1,MovementWizardForm2
from . import views
carrier_wizard_forms = [CarrierWizardForm1, CarrierWizardForm2]
movement_wizard_forms = [MovementWizardForm1, MovementWizardForm2]
urlpatterns = patterns('''',
url(r''^$'', views.PartNumberListView.as_view(), name=''inventory_list_index''),
url(r''^parttype/$'', views.part_type_list, name=''index''),
url(r''^parttype/(?P<parttype>/d{2})/$'', views.part_type_view, name=''part_type_view''),
url(r''^partnumber/$'', views.PartNumberListView.as_view(), name=''partnumber_list''),
url(r''^partnumber/add/$'', views.PartNumberCreateView.as_view(), name=''partnumber_add''),
url(r''^partnumber/(?P<slug>[-/w]+)/$'', views.PartNumberView.as_view(), name=''partnumber_view''),
url(r''^partnumber/(?P<slug>[-/w]+)/update/$'', views.PartNumberUpdateView.as_view(), name=''partnumber_update''),
url(r''^partnumber/(?P<slug>[-/w]+)/delete/$'', views.PartNumberDeleteView.as_view(), name=''partnumber_delete''),
....
)
y erp / settings / dev.py:
# Django settings for erp project.
# settings.py
from unipath import Path
PROJECT_DIR = Path(__file__).ancestor(3)
MEDIA_ROOT = PROJECT_DIR.child("media")
STATIC_ROOT = PROJECT_DIR.child("static")
STATICFILES_DIRS = (
PROJECT_DIR.child("assets"),
)
TEMPLATE_DIRS = (
PROJECT_DIR.child("templates"),
)
DEBUG = True
TEMPLATE_DEBUG = DEBUG
TIME_ZONE = ''Australia/Melbourne''
LANGUAGE_CODE = ''en-au''
SITE_ID = 1
USE_TZ = True
DATE_FORMAT = ''d/m/y''
SHORT_DATE_FORMAT = ''d/m/y''
# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://example.com/media/", "http://media.example.com/"
MEDIA_URL = ''''
# Absolute path to the directory static files should be collected to.
# Don''t put anything in this directory yourself; store your static files
# in apps'' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/var/www/example.com/static/"
STATIC_ROOT = ''''
# URL prefix for static files.
# Example: "http://example.com/static/", "http://static.example.com/"
STATIC_URL = ''/static/''
STATICFILES_FINDERS = (
''django.contrib.staticfiles.finders.FileSystemFinder'',
''django.contrib.staticfiles.finders.AppDirectoriesFinder'',
)
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
''django.template.loaders.filesystem.Loader'',
''django.template.loaders.app_directories.Loader'',
)
MIDDLEWARE_CLASSES = (
''debug_toolbar.middleware.DebugToolbarMiddleware'',
''django.middleware.common.CommonMiddleware'',
''django.contrib.sessions.middleware.SessionMiddleware'',
''django.middleware.csrf.CsrfViewMiddleware'',
''django.contrib.auth.middleware.AuthenticationMiddleware'',
''django.contrib.messages.middleware.MessageMiddleware'',
''stronghold.middleware.LoginRequiredMiddleware'',
''django.middleware.clickjacking.XFrameOptionsMiddleware'',
)
ROOT_URLCONF = ''erp.urls''
# Python dotted path to the WSGI application used by Django''s runserver.
WSGI_APPLICATION = ''erp.wsgi.application''
INSTALLED_APPS = (
''django.contrib.auth'',
''django.contrib.contenttypes'',
''django.contrib.sessions'',
''django.contrib.sites'',
''django.contrib.messages'',
''django.contrib.staticfiles'',
''django.contrib.admin'',
''django.contrib.formtools'',
''django.contrib.humanize'',
''inventory'',
''django_extensions'',
''extra_views'',
''debug_toolbar'',
''django_tables2'',
''stronghold'',
''bootstrap3'',
''haystack'',
)
LOGIN_URL = ''/login''
LOGOUT_URL = ''/logout''
# For Stronghold
STRONGHOLD_PUBLIC_NAMED_URLS = (
''login'',
''logout'',
)
# This is required by the debug toolbar middleware
INTERNAL_IPS = (''192.168.0.16'',''0.0.0.0'',''127.0.0.1'',''::1'', ''192.168.0.115'')
# This is reqquired by django_tables2
TEMPLATE_CONTEXT_PROCESSORS = ("django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages",
"django.core.context_processors.request"
)
}
LOGIN_REDIRECT_URL = ''/inventory/''
DEBUG_TOOLBAR_PANELS = [
''debug_toolbar.panels.versions.VersionsPanel'',
''debug_toolbar.panels.timer.TimerPanel'',
''debug_toolbar.panels.settings.SettingsPanel'',
''debug_toolbar.panels.headers.HeadersPanel'',
''debug_toolbar.panels.request.RequestPanel'',
''debug_toolbar.panels.sql.SQLPanel'',
''debug_toolbar.panels.staticfiles.StaticFilesPanel'',
''debug_toolbar.panels.templates.TemplatesPanel'',
''debug_toolbar.panels.cache.CachePanel'',
''debug_toolbar.panels.signals.SignalsPanel'',
''debug_toolbar.panels.logging.LoggingPanel'',
]
def show_toolbar(request):
return True # Always show toolbar, for example purposes only.
DEBUG_TOOLBAR_CONFIG = {
''INTERCEPT_REDIRECTS'': False,
''INSERT_BEFORE'': ''</body>'',
''ENABLE_STACKTRACES'': True,
}
# This is required for Haystack - the search engine
HAYSTACK_CONNECTIONS = {
''default'': {
''ENGINE'': ''haystack.backends.solr_backend.SolrEngine'',
''URL'': ''http://127.0.0.1:8085/solr/erp'',
},
}
Mi wsgi es el estándar con ajustes menores mod:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "erp.settings.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Mi apache2 / sites-avail / erp.conf es:
<VirtualHost *:80>
ServerName deverp
ServerAdmin administrator
DocumentRoot /path/www/dev/erp/erp/
ErrorLog /var/log/apache2/dev/error.log
CustomLog /var/log/apache2/dev/access.log combined
WSGIDaemonProcess deverp python-path=/path/www/dev/erp/erp:/path/.virtualenvs/erp-dev/lib/python2.7/site-packages
WSGIProcessGroup deverp
WSGIScriptAlias / /path/www/dev/erp/erp/erp/wsgi.py
<Directory /path/www/dev/erp/erp/erp>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
</VirtualHost>
Estoy teniendo un problema muy similar. Mi proyecto funciona bien en el servidor de prueba, pero cuando intento implementarlo en gunicornio obtengo el mismo error de configuración incorrecta.
Si hago un comentario sobre las direcciones URL que incluyen otro archivo url (es decir, url(r''^admin/'', include(admin.site.urls)),
entonces el resto de mis direcciones URL funcionan bien.
[ACTUALIZACIÓN] Pude reducir aún más a solo uno de mis archivos URL incluidos, pero no pude encontrar nada especial al respecto. Sin embargo, la configuración de Debug=False
en mi archivo settings.py
parece haber corregido para mí.
He sufrido un problema similar después de actualizar de django 1.5 a 1.6. No estoy seguro si mi experiencia es la misma que la tuya.
En primer lugar, ¿puede desplazarse hacia arriba por los errores y comprobar que admin.autodiscover()
es el que está generando el problema? Alternativamente, comente esta línea y vea si se cargará una página.
El problema que encontré estaba relacionado con wsgi.py
¿Es posible que publique este archivo?
También asegúrese de tener los urlpatterns
en el archivo que está incluyendo y que está escrito correctamente
Usé reverse en lugar de reverse_lazy para definir el parámetro url de un RedirectView .
class YourRedirectView(RedirectView):
url = reverse(''reversed_url'')
Dado que urls.py aún no se ha inicializado, el error se acerca. Solo usa:
class YourRedirectView(RedirectView):
url = reverse_lazy(''reversed_url'')