我有一个django(1.6.x)项目,可以在开发服务器上正常运行,但是在Ubuntu 12.04.3上的Apache2(2.2.22.1)和mod_wsgi(3.3-4)下运行失败,并显示错误消息
配置不当:所包含的urlconf erp.urls中没有任何模式
我不明白为什么它可以与开发服务器一起使用,但不能与Apache2 / mod_wsgi一起使用,我发现很难跟踪错误的出处。
还有许多其他类似的SO问题,但是我使用反向的唯一地方(先前发现的一个问题)是我模型中的get_absolute_url-应该没问题吗?
该项目设置为la Two Scoops样式,尤其是以下布局:
<repository_root>/<django_project_root>/<configuration_root>/
转换为:
erp_root/erp/erp/
和设置是
erp_root/erp/erp/settings/*py(包括__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)),
)
和库存/ 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'),
....
)
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',
},
}
我的wsgi是具有次要设置mod的标准:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "erp.settings.settings")
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
我的apache2 / sites-avail / erp.conf是:
<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>
此,我实际上遇到了类似的问题。巧合的是,你在发布django-stronghold的问题后。实际上,此问题是由于django-debug-toolbar中缺少设置所致。
你缺少的设置是:
DEBUG_TOOLBAR_PATCH_SETTINGS = False
它可以与runserver一起使用,但是如果你尝试使用honcho,gunicorn或其他使用WSGI接口的工具运行它,则会崩溃。
希望这可以帮助!
问题内容: 我似乎找不到MAMP随附的MySQL的my.cnf或其他配置文件。不包括一个吗? 问题答案: 没有任何my.cnf文件的情况下,将启动MAMP的MySQL服务器(非PRO)。但是您可以创建自己的my.cnf文件。 停止服务器 在以下位置创建文件 将您的内容添加到 救 启动服务器 您不必在my.cnf文件中放置完整的配置。您可以只添加配置的一部分…例如:
正在寻找旧JSF页面的解决方案。我试图使用contains方法根据另一列是否包含单词red box来呈现组合框。 这一个工作和组合框被禁用。 但是,我也想在值不包含红色框时渲染它们,但随后将启用combox。 这是行不通的。 因此,我如何测试的任何想法都不包含特定的单词。我还尝试了choose test when,但由于第一个表。col4值只是一个空字符串。 有什么想法吗?谢谢。
主要内容:单个Struts配置文件,多个Struts配置文件Struts 2自带有“包含文件”功能,包含多个Struts配置文件合并为一个单元。 单个Struts配置文件 让我们来看看一个糟糕的 Struts 2 配置示例。 struts.xml 在上面的Struts配置文件中,组织所有“用户”和“审核”配置设置在一个文件中,这不是建议的,必须回避。应该打破这种形式,而将struts.xml文件分成更小的模块相关的部分。 多个Struts配置文件 在Str
我有一个XSD文件,我想在其中放置几个图表,以及服务的描述。添加时 我得到错误:“多个根标记” 如果我这样写: 我得到错误: 发现以元素{开头的内容无效http://www.w3.org/2001/XMLSchema“:架构}。其中一个{”http://www.w3.org/2001/XMLSchema“:simpleType,”http://www.w3.org/2001/XMLSchema“:
问题内容: 我正在尝试在Python中使用正则表达式来查找和打印来自多行搜索的所有匹配行。我正在搜索的文本可能具有以下示例结构: 我想从中检索至少发生一次并以 AAA* 开头的 **ABC 。 **** 问题是,尽管小组正在抓住我想要的: …我只能访问该组的最后一个匹配项: 下面是用于此问题的示例代码。 问题答案: 这是您的正则表达式: Debuggex演示 您的目标是捕获紧随其后的 所有 。如您