[GeoNode-devel] Layer Upload doesn't work in GeoNode 2.8.1rc0: "AttributeError at /layers/upload 'NoneType' object has no attribute 'charset'"
Michael Härtel
haerta at haerta.de
Fri May 3 15:05:06 PDT 2019
Hello List,
I followed the instructions from here to install geonode:
http://docs.geonode.org/en/latest/tutorials/install_and_admin/geonode_install/install_geonode_application.html
Despite the fact that the url to Geonode from the tutorial
("--template=https://github.com/GeoNode/geonode-project/archive/2.8.0.zip")
is not available and I had a hard time to find a URL that worked for me
(I used the ZIP from GIT/2.8.x branch), I eventuelly got everything
working apart from the layer upload.
I have no idea, how to debug this issue:
* The apache error.log does not show any entry.
* The apache access.log only shows an error 500
* The database doesn't show any relevant entry
* GeoServer doesn't show any relevant entry (Even with VERBODE logging).
It seems that the file never reaches the server so the "saved_layer"
variable is empty/none/null (I am not a Python programmer) in line 294
of "/home/geo/Envs/geonode/src/geonode/geonode/layers/views.py"
Where is the relevant configuration?
* the directory and sub directories of
"/home/geonode/my_geonode/my_geonode/uploaded" has correct
permissions (even tested with "chmod -R ugo+rwx
/home/geonode/my_geonode/my_geonode/uploaded"
* the apache file /etc/apache2/sites-available/geonode.conf has
correct entries:
Alias /uploaded/ /home/geonode/my_geonode/my_geonode/uploaded/
<Directory "/home/geonode/my_geonode/my_geonode/uploaded/layers/">
..."
Is there anyone who can tell me what else to check or how to debug this
issue?
When I select some shape files and click "upload files", the DEBUG
output on the web page looks like this:
AttributeError at /layers/upload 'NoneType' object has no attribute
'charset' Request Method: POST Request URL:
http://geoportal.dummy.org/layers/upload Django Version: 1.8.19 Python
Executable: /usr/bin/python Python Version: 2.7.12 Python Path:
['/home/geonode/my_geonode',
'/home/geo/Envs/geonode/lib/python2.7/site-packages',
'/home/geo/Envs/geonode/src/geonode', '/home/dummygeonode/my_geonode',
'/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat', '/var/www', '/var/www']
Server time: Fri, 3 May 2019 21:36:06 +0000 Installed Applications:
('modeltranslation', 'django.contrib.auth',
'django.contrib.contenttypes', 'django.contrib.sessions',
'django.contrib.sites', 'django.contrib.admin',
'django.contrib.sitemaps', 'django.contrib.staticfiles',
'django.contrib.messages', 'django.contrib.humanize',
'django.contrib.gis', 'dj_pagination', 'taggit', 'treebeard',
'geoexplorer', 'leaflet', 'bootstrap3_datetime', 'django_extensions',
'django_basic_auth', 'autocomplete_light', 'mptt', 'storages',
'floppyforms', 'pinax_theme_bootstrap', 'django_forms_bootstrap',
'avatar', 'dialogos', 'agon_ratings', 'announcements', 'actstream',
'user_messages', 'tastypie', 'polymorphic', 'guardian',
'oauth2_provider', 'corsheaders', 'invitations', 'allauth',
'allauth.account', 'allauth.socialaccount', 'rest_framework', 'geonode',
'geonode.api', 'geonode.base', 'geonode.layers', 'geonode.maps',
'geonode.documents', 'geonode.security', 'geonode.catalogue',
'geonode.people', 'geonode.client', 'geonode.themes', 'geonode.proxy',
'geonode.social', 'geonode.groups', 'geonode.services',
'geonode.geoserver', 'geonode.upload', 'geonode.tasks',
'geonode.messaging', 'geonode.contrib.metadataxsl',
'geonode.contrib.api_basemaps', 'geonode.contrib.ows_api',
'pinax.notifications', 'geonode.contrib.monitoring', 'my_geonode', , )
Installed Middleware: ('corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'dj_pagination.middleware.PaginationMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'oauth2_provider.middleware.OAuth2TokenMiddleware',
'django.middleware.security.SecurityMiddleware',
'geonode.contrib.monitoring.middleware.MonitoringMiddleware') Traceback:
File
"/home/geo/Envs/geonode/lib/python2.7/site-packages/django/core/handlers/base.py"
in get_response 132. response = wrapped_callback(request,
*callback_args, **callback_kwargs) File
"/home/geo/Envs/geonode/lib/python2.7/site-packages/django/contrib/auth/decorators.py"
in _wrapped_view 22. return view_func(request, *args, **kwargs) File
"/home/geo/Envs/geonode/src/geonode/geonode/layers/views.py" in
layer_upload 294. out[_k] =
out[_k].decode(saved_layer.charset).encode("utf-8") Exception Type:
AttributeError at /layers/upload Exception Value: 'NoneType' object has
no attribute 'charset' Request information: GET: No GET data POST:
charset = u'UTF-8' permissions =
u'{"users":{"AnonymousUser":["view_resourcebase","download_resourcebase"]},"groups":{}}'
FILES: shx_file = base_file = shp_file = dbf_file = prj_file = COOKIES:
csrftoken = 'RCPSALmmUm4LV9RF7wWzsqxGFfdK1XDn' sessionid =
'h0bcxlw4nutyik4kb63ao9d3pzxud6hq' _ga = 'GA1.2.1615965258.1556718183'
META: mod_wsgi.listener_port = '80' HTTP_REFERER =
'http://geoportal.dummy.org/layers/upload' mod_wsgi.listener_host = ''
HTTP_REVERSE_VIA = 'IPGW2' CONTEXT_DOCUMENT_ROOT =
'/home/geonode/my_geonode/my_geonode' SERVER_SOFTWARE = 'Apache/2.4.18
(Ubuntu)' SCRIPT_NAME = u'' mod_wsgi.enable_sendfile = '0'
HTTP_X_CSRFTOKEN = 'RCPSALmmUm4LV9RF7wWzsqxGFfdK1XDn' SERVER_SIGNATURE = '
Apache/2.4.18 (Ubuntu) Server at geoportal.dummy.org Port 80
\n' REQUEST_METHOD = 'POST' PATH_INFO = u'/layers/upload'
SERVER_PROTOCOL = 'HTTP/1.1' QUERY_STRING = '' CONTENT_LENGTH = '4451'
HTTP_USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0)
Gecko/20100101 Firefox/66.0' HTTP_CONNECTION = 'Keep-Alive' HTTP_COOKIE
= 'csrftoken=RCPSALmmUm4LV9RF7wWzsqxGFfdK1XDn;
_ga=GA1.2.1615965258.1556718183;
sessionid=h0bcxlw4nutyik4kb63ao9d3pzxud6hq' SERVER_NAME =
'geoportal.dummy.org' REMOTE_ADDR = '172.30.1.13'
mod_wsgi.handler_script = '' mod_wsgi.request_handler = 'wsgi-script'
apache.version = wsgi.url_scheme = 'http' PATH_TRANSLATED =
'/home/geonode/my_geonode/my_geonode/wsgi.py/layers/upload' SERVER_PORT
= '80' mod_wsgi.queue_start = '1556919366052407' wsgi.multiprocess =
True mod_wsgi.input_chunked = '0' SERVER_ADDR = '172.30.1.167'
DOCUMENT_ROOT = '/home/geonode/my_geonode/my_geonode'
mod_wsgi.process_group = 'geonode' HTTP_X_REQUESTED_WITH =
'XMLHttpRequest' mod_wsgi.daemon_connects = '1' SCRIPT_FILENAME =
'/home/geonode/my_geonode/my_geonode/wsgi.py' SERVER_ADMIN =
'webmaster at localhost' wsgi.input = HTTP_HOST = 'geoportal.dummy.org'
CONTEXT_PREFIX = '' wsgi.multithread = True mod_wsgi.callable_object =
'application' mod_wsgi.daemon_restarts = '0' REQUEST_URI =
'/layers/upload' HTTP_ACCEPT = '*/*' wsgi.file_wrapper = '' wsgi.version
= GATEWAY_INTERFACE = 'CGI/1.1' wsgi.run_once = False wsgi.errors =
REMOTE_PORT = '25591' HTTP_ACCEPT_LANGUAGE = 'en-GB,en;q=0.5'
REQUEST_SCHEME = 'http' mod_wsgi.version = mod_wsgi.script_start =
'1556919366052600' CONTENT_TYPE = 'multipart/form-data;
boundary=---------------------------75853149526340'
mod_wsgi.application_group = 'geoportal.cgiarad.org|'
mod_wsgi.script_reloading = '1' mod_wsgi.request_start =
'1556919366052122' CSRF_COOKIE = u'RCPSALmmUm4LV9RF7wWzsqxGFfdK1XDn'
mod_wsgi.daemon_start = '1556919366052568' Settings: Using settings
module my_geonode.settings BROKER_TRANSPORT_OPTIONS = {'fanout_prefix':
True, 'fanout_patterns': True, 'visibility_timeout': 86400,
'socket_timeout': 60} EMAIL_USE_TLS = False CELERY_SEND_TASK_SENT_EVENT
= True DOWNLOAD_FORMATS_METADATA = ['Atom', 'DIF', 'Dublin Core',
'ebRIM', 'FGDC', 'ISO', 'ISO with XSL'] SESSION_SERIALIZER =
'django.contrib.sessions.serializers.PickleSerializer'
ACCOUNT_EMAIL_REQUIRED = True OGC_SERVER_DEFAULT_USER = 'admin'
MESSAGE_STORAGE =
'django.contrib.messages.storage.fallback.FallbackStorage'
WSGI_APPLICATION = 'my_geonode.wsgi.application' SESSION_COOKIE_NAME =
'sessionid' CELERY_BROKER_URL = 'memory://' VERSION = '2.8.1rc0'
AWS_BUCKET_NAME = '' ACCOUNT_CONFIRM_EMAIL_ON_GET = True
EMAIL_SSL_KEYFILE = u'********************' SERVER_EMAIL =
'root at localhost' ACCOUNT_EMAIL_VERIFICATION = 'optional'
FIRST_DAY_OF_WEEK = 0 CACHES = {'default': {'BACKEND':
'django.core.cache.backends.dummy.DummyCache'}} CKAN_ORIGINS = [{'url':
'https://data.hdx.rwlabs.org/dataset/new?title={name}&dataset_date={date}¬es={abstract}&caveats={caveats}',
'css_class': 'hdx', 'label': 'Humanitarian Data Exchange (HDX)'}]
SESSION_COOKIE_PATH = '/' UNOCONV_ENABLE = 1 MISSING_THUMBNAIL =
'geonode/img/missing_thumb.png' MODELTRANSLATION_FALLBACK_LANGUAGES =
'en' PINAX_NOTIFICATIONS_HOOKSET = CELERY_TASK_IGNORE_RESULT = True
DEFAULT_INDEX_TABLESPACE = '' MONITORING_HOST_NAME = 'localhost'
THESAURI = [] USE_X_FORWARDED_HOST = False TWITTER_HASHTAGS =
['geonode'] PUBLIC_GEOSERVER = {'source': {'url':
'http://localhost:8080/geoserver/ows', 'restUrl': '/gs/rest',
'attribution': '© http://localhost:8000/', 'ptype': 'gxp_wmscsource',
'title': 'GeoServer - Public Layers'}} GUARDIAN_GET_INIT_ANONYMOUS_USER
= 'geonode.people.models.get_anonymous_user_instance' CSRF_COOKIE_DOMAIN
= None FILE_CHARSET = 'utf-8' DEBUG = True SESSION_FILE_PATH = None
DISPLAY_COMMENTS = 1 DATABASE_ENGINE = 'postgresql_psycopg2'
STATICFILES_DIRS = ['/etc/geonode/media',
'/home/geo/Envs/geonode/src/geonode/geonode/static',
'/home/geonode/my_geonode/my_geonode/static']
CELERY_TASK_CREATE_MISSING_QUEUES = True SECURE_PROXY_SSL_HEADER = None
AWS_SECRET_ACCESS_KEY = u'********************'
DEBUG_PROPAGATE_EXCEPTIONS = False MONTH_DAY_FORMAT = 'F j'
SEARCH_FILTERS = {'REGION_ENABLED': True, 'EXTENT_ENABLED': True,
'DATE_ENABLED': True, 'KEYWORDS_ENABLED': u'********************',
'CATEGORIES_ENABLED': True, 'TYPE_ENABLED': True, 'T_KEYWORDS_ENABLED':
u'********************', 'OWNERS_ENABLED': True, 'H_KEYWORDS_ENABLED':
u'********************', 'TEXT_ENABLED': True} THUMBNAIL_GENERATOR =
'geonode.layers.utils.create_gs_thumbnail_geonode' AUTH_USER_MODEL =
'people.Profile' USE_THOUSAND_SEPARATOR = False UNOCONV_TIMEOUT = 30
CELERY_DISABLE_RATE_LIMITS = False CSRF_FAILURE_VIEW =
'django.views.csrf.csrf_failure' CELERY_WORKER_SEND_TASK_EVENTS = True
CELERY_TASK_SERIALIZER = 'json' DECIMAL_SEPARATOR = '.'
IGNORABLE_404_URLS = NOSE_ARGS = ['--nocapture', '--detailed-errors']
TEMPLATE_STRING_IF_INVALID = '' FIXTURE_DIRS = SOCIALACCOUNT_AUTO_SIGNUP
= False PINAX_NOTIFICATIONS_BACKENDS = {(0, 'email'): }
FORMAT_MODULE_PATH = None ALLOWED_DOCUMENT_TYPES = ['doc', 'docx',
'gif', 'jpg', 'jpeg', 'ods', 'odt', 'odp', 'pdf', 'png', 'ppt', 'pptx',
'rar', 'sld', 'tif', 'tiff', 'txt', 'xls', 'xlsx', 'xml', 'zip', 'gz',
'qml'] RESOURCE_PUBLISHING = False DISALLOWED_USER_AGENTS =
DEFAULT_LAYER_FORMAT = 'image/png' THUNDERFOREST_BASEMAPS = False
CELERY_REDIRECT_STDOUTS = True SITENAME = 'my_geonode'
CELERY_MESSAGE_COMPRESSION = 'gzip' USE_ETAGS = False DISPLAY_WMS_LINKS
= True GEOTIFF_IO_ENABLED = 0 PINAX_NOTIFICATIONS_GET_LANGUAGE_MODEL =
at 0x7f8c98343c80> USE_TZ = True SHORT_DATETIME_FORMAT = 'm/d/Y P'
LANGUAGE_COOKIE_PATH = '/' MAX_DOCUMENT_SIZE = 2 YEAR_MONTH_FORMAT = 'F
Y' AWS_QUERYSTRING_AUTH = False CELERY_SEND_TASK_EVENTS = True
LANGUAGE_CODE = 'en' ROOT_URLCONF = 'my_geonode.urls' LOGIN_URL =
'/account/login/' DEFAULT_MAP_CENTER = DATABASE_HOST = 'localhost'
TEMPLATE_DIRS = BROKER_HEARTBEAT = 0 SESSION_CACHE_ALIAS = 'default'
SESSION_COOKIE_DOMAIN = None PINAX_NOTIFICATIONS_QUEUE_ALL = False
FILE_UPLOAD_PERMISSIONS = None BING_API_KEY = u'********************'
APPEND_SLASH = True DATABASE_ROUTERS = [] STAMEN_BASEMAPS = False
GEOSERVER_LOCATION = 'http://localhost/geoserver/' INVITATIONS_ADAPTER =
'geonode.people.adapters.LocalAccountAdapter' HOSTNAME = 'localhost'
EXIF_ENABLED = False CATALOGUE = {'default': {'ENGINE':
'geonode.catalogue.backends.pycsw_local', 'URL':
'http://geoportal.dummy.org/catalogue/csw'}} LOCKDOWN_GEONODE = 0
MIDDLEWARE_CLASSES = USE_I18N = 1 LANGUAGE_COOKIE_NAME =
'django_language' CELERY_TASK_ALWAYS_EAGER = True TEST_RUNNER_PARALLEL =
0 CELERYD_HIJACK_ROOT_LOGGER = True HAYSTACK_SEARCH = 0 X_FRAME_OPTIONS
= 'DENY' UNOCONV_EXECUTABLE = '/usr/bin/unoconv' OAUTH2_PROVIDER =
{'SCOPES': {'read': 'Read scope', 'write': 'Write scope', 'groups':
'Access to your groups'}, 'CLIENT_ID_GENERATOR_CLASS':
'oauth2_provider.generators.ClientIdGenerator'}
GEOSERVER_PUBLIC_LOCATION = 'http://geoportal.dummy.org/geoserver/'
SECURE_SSL_HOST = None NLP_ENABLED = False MONITORING_DISABLE_CSRF =
False SOCIAL_ORIGINS = [{'url': 'mailto:?subject={name}&body={url}',
'css_class': 'email', 'label': 'Email'}, {'url':
'http://www.facebook.com/sharer.php?u={url}', 'css_class': 'fb',
'label': 'Facebook'}, {'url':
'https://twitter.com/share?url={url}&hashtags={hashtags}', 'css_class':
'tw', 'label': 'Twitter'}, {'url':
'https://plus.google.com/share?url={url}', 'css_class': 'gp', 'label':
'Google +'}] PREPEND_WWW = False AUTH_IP_WHITELIST = [] DATABASE_PORT =
'5432' DEFAULT_ANONYMOUS_VIEW_PERMISSION = 1 GOOGLE_API_KEY =
u'********************' GEOIP_PATH = '/usr/local/share/GeoIP'
ADMIN_MODERATE_UPLOADS = False TASTYPIE_DEFAULT_FORMATS = ['json']
DEFAULT_ANONYMOUS_DOWNLOAD_PERMISSION = 1 FORCE_SCRIPT_NAME = None
DISPLAY_RATINGS = 1 TEST_RUNNER_KEEPDB = 0 PASSWORD_RESET_TIMEOUT_DAYS =
u'********************' DEFAULT_SEARCH_SIZE = 10 CELERYD_CONCURENCY = 1
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
API_INCLUDE_REGIONS_COUNT = u'********************'
PINAX_NOTIFICATIONS_LOCK_WAIT_TIMEOUT = -1 MIGRATION_MODULES = {}
NLP_MODEL_PATH = '/opt/MITIE/MITIE-models/english/ner_model.dat'
PROXY_ALLOWED_HOSTS = ['geoportal.dummy.org', 'geoportal.cgiarad.org',
'172.30.1.167', 'localhost'] CARTODB_BASEMAPS = False
SECURE_BROWSER_XSS_FILTER = True GEONODE_CONTRIB_APPS = SRID =
{'DETAIL': 'never'} ACCOUNT_NOTIFY_ON_PASSWORD_CHANGE =
u'********************' AGON_RATINGS_CATEGORY_CHOICES = {'maps.Map':
{'map': 'How good is this map?'}, 'layers.Layer': {'layer': 'How good is
this layer?'}, 'documents.Document': {'document': 'How good is this
document?'}} DEFAULT_EXCEPTION_REPORTER_FILTER =
'django.views.debug.SafeExceptionReporterFilter' ADMINS = []
MONITORING_DATA_TTL = datetime.timedelta(7) GEOSERVER_EXCHANGE =
CELERY_ACCEPT_CONTENT = ['json'] LOCAL_MEDIA_URL = '/uploaded/'
LOGOUT_URL = '/account/logout/' USE_GEOSERVER = True EXTRA_LANG_INFO =
{'tl': {'code': 'tl', 'name': 'Tagalog', 'bidi': False, 'name_local':
'tagalog'}, 'am': {'code': 'am', 'name': 'Amharic', 'bidi': False,
'name_local': 'Amharic'}, 'si': {'code': 'si', 'name': 'Sinhala',
'bidi': False, 'name_local': 'sinhala'}, 'ta': {'code': 'ta', 'name':
'Tamil', 'bidi': False, 'name_local': u'tamil'}} SHOW_PROFILE_EMAIL =
False CELERYD_LOG_LEVEL = 1 DATABASE_USER = 'geonode' TEMPLATES =
[{'DIRS': ['/home/geonode/my_geonode/my_geonode/templates',
'/home/geo/Envs/geonode/src/geonode/geonode/templates'], 'OPTIONS':
{'debug': 1, 'context_processors':
['django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.tz',
'django.template.context_processors.request',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'django.contrib.auth.context_processors.auth',
'geonode.context_processors.resource_urls',
'geonode.geoserver.context_processors.geoserver_urls',
'geonode.themes.context_processors.custom_theme'], 'loaders':
['django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader']}, 'NAME': 'GeoNode
Project Templates', 'BACKEND':
'django.template.backends.django.DjangoTemplates'}] EMAIL_SSL_CERTFILE =
None CELERY_TASK_QUEUES = DEFAULT_WORKSPACE = 'geonode' ASYNC_SIGNALS =
False LOCAL_GEOSERVER = {'source': {'url':
'http://geoportal.dummy.org/geoserver/wms', 'restUrl': '/gs/rest',
'ptype': 'gxp_wmscsource'}} DEFAULT_TABLESPACE = '' CELERY_ACKS_LATE =
True EMAIL_ENABLE = True SESSION_COOKIE_AGE = 1209600
THEME_ACCOUNT_CONTACT_EMAIL = 'admin at example.com' NOTIFICATION_ENABLED =
True LANGUAGES = CELERY_TASK_RESULT_EXPIRES = 43200
GEONODE_CLIENT_LAYER_PREVIEW_LIBRARY = 'geoext' ABSOLUTE_URL_OVERRIDES =
{} OGC_SERVER_DEFAULT_PASSWORD = u'********************'
CACHE_MIDDLEWARE_SECONDS = 600 CSRF_COOKIE_HTTPONLY = False TEST = False
EMAIL_HOST_USER = 'Geoportal dummy ' CASCADE_WORKSPACE = 'geonode'
CSRF_COOKIE_SECURE = False CELERY_TRACK_STARTED = True UPLOADER =
{'SUPPORTED_CRS': ['EPSG:4326', 'EPSG:3785', 'EPSG:3857', 'EPSG:900913',
'EPSG:32647', 'EPSG:32736'], 'BACKEND': 'geonode.rest', 'OPTIONS':
{'TIME_ENABLED': False, 'MOSAIC_ENABLED': False, 'GEOGIG_ENABLED':
False}, 'SUPPORTED_EXT': ['.shp', '.csv', '.kml', '.kmz', '.json',
'.geojson', '.tif', '.tiff', '.geotiff', '.gml', '.xml']} LICENSES =
{'ENABLED': True, 'DETAIL': 'above', 'METADATA': 'verbose'}
EMAIL_HOST_PASSWORD = u'********************' PYCSW = {'CONFIGURATION':
{'metadata:main': {'identification_fees': 'None', 'provider_url':
'http://geoportal.dummy.org/', 'identification_keywords': 'sdi,
catalogue, discovery, metadata, GeoNode', 'contact_address': 'Mailing
Address', 'identification_accessconstraints': 'None', 'contact_name':
'Lastname, Firstname', 'contact_stateorprovince': 'Administrative Area',
'contact_country': 'Country', 'contact_url': 'Contact URL',
'provider_name': 'Organization Name', 'contact_phone':
'+xx-xxx-xxx-xxxx', 'contact_hours': 'Hours of Service', 'contact_role':
'pointOfContact', 'contact_email': 'Email Address',
'identification_title': 'GeoNode Catalogue', 'contact_postalcode': 'Zip
or Postal Code', 'contact_city': 'City', 'identification_keywords_type':
'theme', 'identification_abstract': 'GeoNode is an open source platform
that facilitates the creation, sharing, and collaborative use of
geospatial data', 'contact_fax': '+xx-xxx-xxx-xxxx',
'contact_instructions': 'During hours of service. Off on weekends.',
'contact_position': 'Position Title'}, 'metadata:inspire':
{'languages_supported': 'eng,gre', 'default_language': 'eng',
'temp_extent': 'YYYY-MM-DD/YYYY-MM-DD', 'conformity_service':
'notEvaluated', 'contact_email': 'Email Address', 'date': 'YYYY-MM-DD',
'contact_name': 'Organization Name', 'gemet_keywords': 'Utility and
governmental services', 'enabled': 'true'}}} CELERY_RESULT_SERIALIZER =
'json' AWS_STORAGE_BUCKET_NAME = '' FILE_UPLOAD_DIRECTORY_PERMISSIONS =
None LOCAL_ROOT = '/home/geonode/my_geonode/my_geonode'
FILE_UPLOAD_HANDLERS = DEFAULT_CONTENT_TYPE = 'text/html' DEBUG_STATIC =
False MONITORING_SERVICE_NAME = 'local-geonode' SOCIALACCOUNT_PROVIDERS
= {'linkedin_oauth2': {'SCOPE': ['r_emailaddress', 'r_basicprofile'],
'PROFILE_FIELDS': ['emailAddress', 'firstName', 'headline', 'id',
'industry', 'lastName', 'pictureUrl', 'positions', 'publicProfileUrl',
'location', 'specialties', 'summary']}, 'facebook': {'SCOPE': ['email',
'public_profile'], 'METHOD': 'oauth2', 'FIELDS': ['id', 'email', 'name',
'first_name', 'last_name', 'verified', 'locale', 'timezone', 'link',
'gender']}} STATICFILES_STORAGE =
'django.contrib.staticfiles.storage.StaticFilesStorage' USE_WORLDMAP = 0
SILENCED_SYSTEM_CHECKS = ['1_8.W001', 'fields.W340'] LOGGING_CONFIG =
'logging.config.dictConfig' TEMPLATE_LOADERS =
AUTO_GENERATE_AVATAR_SIZES = HAYSTACK_CONNECTIONS = {'default':
{'ENGINE':
'haystack.backends.elasticsearch2_backend.Elasticsearch2SearchEngine',
'URL': 'http://127.0.0.1:9200/', 'INDEX_NAME': 'haystack'}}
GEONODE_INTERNAL_APPS = ACCOUNT_LOGIN_REDIRECT_URL =
'http://localhost:8000/' EMAIL_TIMEOUT = None SESSION_COOKIE_SECURE =
False GEONODE_CORE_APPS = CACHE_TIME = 0 AWS_ACCESS_KEY_ID =
u'********************' INSTALLED_APPS = THUMBNAIL_GENERATOR_DEFAULT_BG
= 'http://a.tile.openstreetmap.org/{z}/{x}/{y}.png' STATIC_ROOT =
'/var/www/geonode/static/' SECURE_HSTS_INCLUDE_SUBDOMAINS = True
GEONODE_APPS = SESSION_COOKIE_HTTPONLY = True DATETIME_FORMAT = 'N j, Y,
P' USER_MESSAGES_ALLOW_MULTIPLE_RECIPIENTS = True GEOTIFF_IO_BASE_URL =
'https://app.geotiff.io' DATE_INPUT_FORMATS =
ACCOUNT_LOGOUT_REDIRECT_URL = 'http://localhost:8000/' TWITTER_CARD = 1
CSRF_COOKIE_NAME = 'csrftoken' SESSION_SAVE_EVERY_REQUEST = False
NUMBER_GROUPING = 0 LOCALE_PATHS = GEONODE_ROOT =
'/home/geo/Envs/geonode/src/geonode/geonode' LOGGING = {'loggers':
{'geonode': {'handlers': ['applogfile'], 'level': 'DEBUG'}, 'django':
{'handlers': ['applogfile'], 'level': 'DEBUG'}, 'pycsw': {'handlers':
['applogfile'], 'level': 'DEBUG'}, 'owslib': {'handlers':
['applogfile'], 'level': 'DEBUG'}, 'gsconfig.catalog': {'handlers':
['applogfile'], 'level': 'DEBUG'}}, 'disable_existing_loggers': True,
'handlers': {'console': {'formatter': 'simple', 'class':
'logging.StreamHandler', 'level': 'DEBUG'}, 'applogfile': {'level':
'DEBUG', 'maxBytes': 15728640, 'backupCount': 10, 'class':
'logging.handlers.RotatingFileHandler', 'filename':
'/tmp/GEONODE_APP.log'}, 'mail_admins': {'class':
'django.utils.log.AdminEmailHandler', 'filters':
['require_debug_false'], 'level': 'ERROR'}}, 'formatters': {'simple':
{'format': '%(message)s'}, 'verbose': {'format': '%(levelname)s
%(asctime)s %(module)s %(process)d %(thread)d %(message)s'}}, 'version':
1, 'filters': {'require_debug_false': {'()':
'django.utils.log.RequireDebugFalse'}}} INTEGRATION = False OGP_URL =
'http://geodata.tufts.edu/solr/select' USE_L10N = 1 CELERYD_LOG_FILE =
None EMAIL_HOST = 'dummysmtp4.cgiarad.org' NLP_LOCATION_THRESHOLD = 1.0
REST_FRAMEWORK = {'DEFAULT_PERMISSION_CLASSES':
['rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly']}
DATABASE_NAME = 'geonode' MEDIA_URL = '/uploaded/'
RABBITMQ_SIGNALS_BROKER_URL = 'amqp://localhost:5672'
DJANGO_LIVE_TEST_SERVER_ADDRESS = 'localhost:8000' MONITORING_ENABLED =
True DOWNLOAD_FORMATS_VECTOR = ['JPEG', 'PDF', 'PNG', 'Zipped
Shapefile', 'GML 2.0', 'GML 3.1.1', 'CSV', 'Excel', 'GeoJSON', 'KML',
'View in Google Earth', 'Tiles', 'QGIS layer file (.qlr)', 'QGIS project
file (.qgs)'] SKIP_PERMS_FILTER = False GEONODE_CLIENT_HOOKSET =
TWITTER_SITE = '@GeoNode' SLACK_ENABLED = False PROJECT_NAME =
'my_geonode' TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
HAYSTACK_FACET_COUNTS = True SECURE_SSL_REDIRECT = False TIME_ZONE =
'UTC' CORS_ORIGIN_ALLOW_ALL = True EMAIL_BACKEND =
'django.core.mail.backends.smtp.EmailBackend' DEFAULT_MAP_ZOOM = 0
TEMPLATE_CONTEXT_PROCESSORS = MAPBOX_ACCESS_TOKEN =
u'********************' S3_STATIC_ENABLED = False
PINAX_NOTIFICATIONS_LANGUAGE_MODEL = None LANGUAGES_BIDI =
HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor'
CLIENT_RESULTS_LIMIT = 20 MODELTRANSLATION_DEFAULT_LANGUAGE = 'en'
GEOFENCE_SECURITY_ENABLED = True SOCIALACCOUNT_ADAPTER =
'geonode.people.adapters.SocialAccountAdapter' DATABASE_PASSWORD =
u'********************' SECURE_HSTS_SECONDS = 3600
TEST_NON_SERIALIZED_APPS = [] DEFAULT_CHARSET = 'utf-8'
OPENGRAPH_ENABLED = 1 CELERY_MAX_CACHED_RESULTS = 32768
CELERY_RESULT_PERSISTENT = False ALLOWED_HOSTS = ['geoportal.dummy.org',
'geoportal.cgiarad.org', '172.30.1.167', 'localhost'] OGC_SERVER =
{'default': {'BACKEND_WRITE_ENABLED': True, 'PASSWORD':
u'********************', 'WPS_ENABLED': True, 'LOGIN_ENDPOINT':
'j_spring_oauth2_geonode_login', 'PUBLIC_LOCATION':
'http://geoportal.dummy.org/geoserver/', 'GEONODE_SECURITY_ENABLED':
True, 'PRINT_NG_ENABLED': True, 'GEOGIG_DATASTORE_DIR': '', 'PG_GEOGIG':
False, 'GEOFENCE_SECURITY_ENABLED': True, 'LOCATION':
'http://localhost/geoserver/', 'MAPFISH_PRINT_ENABLED': True,
'LOGOUT_ENDPOINT': 'j_spring_oauth2_geonode_logout', 'TIMEOUT': 10,
'WMST_ENABLED': False, 'DATASTORE': 'datastore', 'LOG_FILE':
'/usr/share/geoserver/data/logs/geoserver.log', 'BACKEND':
'geonode.geoserver', 'GEOGIG_ENABLED': False, 'USER': 'admin'}}
DOWNLOAD_FORMATS_RASTER = ['JPEG', 'PDF', 'PNG', 'ArcGrid', 'GeoTIFF',
'Gtopo30', 'ImageMosaic', 'KML', 'View in Google Earth', 'Tiles', 'GML',
'GZIP', 'QGIS layer file (.qlr)', 'QGIS project file (.qgs)', 'Zipped
All Files'] AUTH_EXEMPT_URLS = EMAIL_SUBJECT_PREFIX = '[Django] '
THOUSAND_SEPARATOR = ',' STATICFILES_FINDERS = S3_MEDIA_ENABLED = False
CELERY_WORKER_DISABLE_RATE_LIMITS = False STATIC_URL = '/static/'
TIME_INPUT_FORMATS = SECURE_REDIRECT_EXEMPT = [] DATABASES = {'default':
{'ENGINE': 'django.db.backends.postgresql_psycopg2', 'AUTOCOMMIT': True,
'ATOMIC_REQUESTS': False, 'NAME': 'geonode', 'CONN_MAX_AGE': 0,
'CONN_TOUT': 900, 'TIME_ZONE': 'UTC', 'PORT': '5432', 'HOST':
'localhost', 'USER': 'geonode', 'TEST': {'COLLATION': None, 'CHARSET':
None, 'NAME': None, 'MIRROR': None}, 'PASSWORD':
u'********************', 'OPTIONS': {}}, 'datastore': {'ENGINE':
'django.contrib.gis.db.backends.postgis', 'AUTOCOMMIT': True,
'ATOMIC_REQUESTS': False, 'NAME': 'geonode_data', 'CONN_MAX_AGE': 0,
'CONN_TOUT': 900, 'TIME_ZONE': 'UTC', 'PORT': '5432', 'HOST':
'localhost', 'USER': 'geonode', 'TEST': {'COLLATION': None, 'CHARSET':
None, 'NAME': None, 'MIRROR': None}, 'PASSWORD':
u'********************', 'OPTIONS': {}}} LEAFLET_CONFIG = {'SRID': 3857,
'RESET_VIEW': False, 'TILES': [('Watercolor',
'http://{s}.tile.stamen.com/watercolor/{z}/{x}/{y}.png', 'Map tiles by
Stamen Design, CC BY 3.0 — Map data © OpenStreetMap contributors,
CC-BY-SA'), ('Toner Lite',
'http://{s}.tile.stamen.com/toner-lite/{z}/{x}/{y}.png', 'Map tiles by
Stamen Design, CC BY 3.0 — Map data © OpenStreetMap contributors,
CC-BY-SA')], 'PLUGINS': {u'forms': {u'css': , u'auto-include': False,
u'js': }, u'__default__': {u'css': , u'js': }, u'ALL': {u'css': , u'js':
}, 'leaflet-plugins': {'css': , 'auto-include': True, 'js': },
u'__is_normalized__': True}} ACCOUNT_APPROVAL_REQUIRED = 0 DATABASE_URL
= 'sqlite:////home/geo/Envs/geonode/src/geonode/geonode/development.db'
MODELTRANSLATION_LANGUAGES = ['en'] SLACK_WEBHOOK_URLS =
['https://hooks.slack.com/services/T000/B000/XX'] ALT_OSM_BASEMAPS =
False ACCOUNT_OPEN_SIGNUP = True ACCOUNT_ADAPTER =
'geonode.people.adapters.LocalAccountAdapter'
SECURE_CONTENT_TYPE_NOSNIFF = True SECRET_KEY = u'********************'
FILE_UPLOAD_TEMP_DIR = None DEFAULT_MAP_CRS = 'EPSG:900913'
DATA_UPLOAD_MAX_NUMBER_FIELDS = 100000
MAP_CLIENT_USE_CROSS_ORIGIN_CREDENTIALS = 0 REDIS_SIGNALS_BROKER_URL =
'redis://localhost:6379/0' SETTINGS_MODULE = 'my_geonode.settings'
AUTHENTICATION_BACKENDS = CELERY_ALWAYS_EAGER = True
MODIFY_TOPICCATEGORY = True SIGNING_BACKEND =
'django.core.signing.TimestampSigner' LANGUAGE_COOKIE_DOMAIN = None
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
SITEURL = 'http://geoportal.dummy.org/' LANGUAGE_COOKIE_AGE = None
SOCIALACCOUNT_PROFILE_EXTRACTORS = {'linkedin_oauth2':
'geonode.people.profileextractors.LinkedInExtractor', 'facebook':
'geonode.people.profileextractors.FacebookExtractor'} MANAGERS = []
SESSION_EXPIRE_AT_BROWSER_CLOSE = False TIME_FORMAT = 'P'
CACHE_MIDDLEWARE_ALIAS = 'default' SERVICE_UPDATE_INTERVAL = 0
CSRF_COOKIE_PATH = '/' NLP_LIBRARY_PATH = '/opt/MITIE/mitielib'
MONITORING_CONFIG = None CELERYD_POOL_RESTARTS = True PROJECT_ROOT =
'/home/geo/Envs/geonode/src/geonode/geonode' CACHE_MIDDLEWARE_KEY_PREFIX
= u'********************' RISKS = {'PDF_GENERATOR': {'BIN':
'/usr/bin/wkhtml2pdf', 'ARGS': [], 'NAME': 'wkhtml2pdf'},
'DEFAULT_LOCATION': None} MAP_BASELAYERS = [{'source': {'url':
'http://geoportal.dummy.org/geoserver/wms', 'restUrl': '/gs/rest',
'ptype': 'gxp_wmscsource'}}, {'group': 'background', 'name':
'background', 'args': ['No background'], 'visibility': False, 'source':
{'ptype': 'gxp_olsource'}, 'fixed': True, 'type': 'OpenLayers.Layer'},
{'source': {'ptype': 'gxp_olsource'}, 'wrapDateLine': True, 'fixed':
True, 'attribution': '© UNESCO', 'name': 'background', 'title':
'UNESCO', 'group': 'background', 'args': ['UNESCO',
'http://en.unesco.org/tiles/${z}/${x}/${y}.png'], 'type':
'OpenLayers.Layer.XYZ', 'visibility': False}, {'source': {'ptype':
'gxp_olsource'}, 'wrapDateLine': True, 'fixed': True, 'attribution': '©
UNESCO', 'name': 'background', 'title': 'UNESCO GEODATA', 'group':
'background', 'args': ['UNESCO GEODATA',
'http://en.unesco.org/tiles/geodata/${z}/${x}/${y}.png'], 'type':
'OpenLayers.Layer.XYZ', 'visibility': False}, {'source': {'ptype':
'gxp_olsource'}, 'wrapDateLine': True, 'fixed': True, 'attribution': "©
OpenStreetMap, Tiles courtesy of Humanitarian OpenStreetMap Team",
'name': 'background', 'title': 'Humanitarian OpenStreetMap', 'group':
'background', 'args': ['Humanitarian OpenStreetMap',
'http://a.tile.openstreetmap.fr/hot/${z}/${x}/${y}.png'], 'type':
'OpenLayers.Layer.XYZ', 'visibility': False}, {'source': {'ptype':
'gxp_olsource'}, 'wrapDateLine': True, 'fixed': True, 'attribution': "©
Mapbox © OpenStreetMap Improve this map", 'name': 'background', 'title':
'MapBox Satellite Streets', 'group': 'background', 'args': ['MapBox
Satellite Streets',
'http://api.mapbox.com/styles/v1/mapbox/satellite-streets-v9/tiles/${z}/${x}/${y}?access_token='],
'type': 'OpenLayers.Layer.XYZ', 'visibility': False}, {'source':
{'ptype': 'gxp_olsource'}, 'wrapDateLine': True, 'fixed': True,
'attribution': "© Mapbox © OpenStreetMap Improve this map", 'name':
'background', 'title': 'MapBox Streets', 'group': 'background', 'args':
['MapBox Streets',
'http://api.mapbox.com/styles/v1/mapbox/streets-v9/tiles/${z}/${x}/${y}?access_token='],
'type': 'OpenLayers.Layer.XYZ', 'visibility': False}, {'source':
{'ptype': 'gxp_osmsource'}, 'wrapDateLine': True, 'attribution': "©
OpenStreetMap contributors", 'name': 'mapnik', 'title': 'OpenStreetMap',
'group': 'background', 'fixed': True, 'type': 'OpenLayers.Layer.OSM',
'visibility': True}] LOGIN_REDIRECT_URL = '/' GROUP_PRIVATE_RESOURCES =
False DATE_FORMAT = 'N j, Y' LOCAL_SIGNALS_BROKER_URL = 'memory://'
MEDIA_ROOT = '/var/www/geonode/uploaded' PROXY_URL = '/proxy/?url='
TEMPLATE_DEBUG = False DEFAULT_FROM_EMAIL = 'Geoportal dummy '
FREETEXT_KEYWORDS_READONLY = u'********************' GEONODE_EXCHANGE =
NOTIFICATIONS_MODULE = 'pinax.notifications' SITE_ID = 1
ALLOWED_INCLUDE_ROOTS = API_LIMIT_PER_PAGE = u'********************'
SHORT_DATE_FORMAT = 'm/d/Y' ACTSTREAM_SETTINGS = {'GFK_FETCH_DEPTH': 1,
'USE_JSONFIELD': True, 'FETCH_RELATIONS': True, 'USE_PREFETCH': False}
AWS_S3_BUCKET_DOMAIN = '.s3.amazonaws.com' FILE_UPLOAD_MAX_MEMORY_SIZE =
2621440 DISPLAY_SOCIAL = 1 CSRF_COOKIE_AGE = 31449600 EMAIL_USE_SSL =
False INTERNAL_IPS = EMAIL_PORT = 25 GROUP_MANDATORY_RESOURCES = False
PASSWORD_HASHERS = u'********************' ANONYMOUS_USER_ID = '-1'
DATETIME_INPUT_FORMATS = You're seeing this error because you have DEBUG
= True in your Django settings file. Change that to False, and Django
will display a standard page generated by the handler for this status code.
Thank you very much,
Michael Härtel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/geonode-devel/attachments/20190504/acc62e62/attachment-0001.html>
More information about the geonode-devel
mailing list