Closed juyrjola closed 8 years ago
@juyrjola Paste has expired. :(
ValueError at /admin/pages/22/edit/
invalid literal for int() with base 10: ''
Request Method: POST
Request URL: https://digi.hel.ninja/admin/pages/22/edit/
Django Version: 1.9.10
Exception Type: ValueError
Exception Value:
invalid literal for int() with base 10: ''
Exception Location: /home/digihel/venv/lib/python3.4/site-packages/django/db/models/fields/__init__.py in get_prep_value, line 976
Python Executable: /usr/bin/uwsgi-core
Python Version: 3.4.3
Python Path:
['.',
'',
'/home/digihel/venv/src/django-helusers',
'/home/digihel/venv/src/wagtail-svgmap',
'/home/digihel/venv/lib/python3.4',
'/home/digihel/venv/lib/python3.4/plat-x86_64-linux-gnu',
'/home/digihel/venv/lib/python3.4/lib-dynload',
'/usr/lib/python3.4',
'/usr/lib/python3.4/plat-x86_64-linux-gnu',
'/home/digihel/venv/lib/python3.4/site-packages',
'/home/digihel/digihel']
Server time: To, 29 Syy 2016 15:00:04 +0300
Traceback Switch to copy-and-paste view
/home/digihel/venv/lib/python3.4/site-packages/django/core/handlers/base.py in get_response
response = self.process_exception_by_middleware(e, request) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/core/handlers/base.py in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) ...
▶ Local vars
/usr/lib/python3.4/contextlib.py in inner
return func(*args, **kwds) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/views/decorators/cache.py in _cache_controlled
response = viewfunc(request, *args, **kw) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/wagtail/wagtailadmin/decorators.py in decorated_view
return view_func(request, *args, **kwargs) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/wagtail/wagtailadmin/views/pages.py in edit
if form.is_valid() and not page.locked: ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/modelcluster/forms.py in is_valid
form_is_valid = super(ClusterForm, self).is_valid() ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/forms/forms.py in is_valid
return self.is_bound and not self.errors ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/forms/forms.py in errors
self.full_clean() ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/forms/forms.py in full_clean
self._clean_fields() ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/forms/forms.py in _clean_fields
value = field.widget.value_from_datadict(self.data, self.files, self.add_prefix(name)) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/wagtail/wagtailcore/blocks/base.py in value_from_datadict
return self.block_def.value_from_datadict(data, files, name) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/wagtail/wagtailcore/blocks/stream_block.py in value_from_datadict
child_block.value_from_datadict(data, files, '%s-%d-value' % (prefix, i)), ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/wagtail/wagtailcore/blocks/struct_block.py in value_from_datadict
for name, block in self.child_blocks.items() ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/wagtail/wagtailcore/blocks/struct_block.py in <listcomp>
for name, block in self.child_blocks.items() ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/wagtail/wagtailcore/blocks/field_block.py in value_from_datadict
return self.value_from_form(self.field.widget.value_from_datadict(data, files, prefix)) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/wagtail/wagtailcore/blocks/field_block.py in value_from_form
return self.target_model.objects.get(pk=value) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/db/models/manager.py in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/db/models/query.py in get
clone = self.filter(*args, **kwargs) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/db/models/query.py in filter
return self._filter_or_exclude(False, *args, **kwargs) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/db/models/query.py in _filter_or_exclude
clone.query.add_q(Q(*args, **kwargs)) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/db/models/sql/query.py in add_q
clause, _ = self._add_q(q_object, self.used_aliases) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/db/models/sql/query.py in _add_q
allow_joins=allow_joins, split_subq=split_subq, ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/db/models/sql/query.py in build_filter
condition = self.build_lookup(lookups, col, value) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/db/models/sql/query.py in build_lookup
return final_lookup(lhs, rhs) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/db/models/lookups.py in __init__
self.rhs = self.get_prep_lookup() ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/db/models/lookups.py in get_prep_lookup
return self.lhs.output_field.get_prep_lookup(self.lookup_name, self.rhs) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/db/models/fields/__init__.py in get_prep_lookup
return self.get_prep_value(value) ...
▶ Local vars
/home/digihel/venv/lib/python3.4/site-packages/django/db/models/fields/__init__.py in get_prep_value
return int(value) ...
▶ Local vars
Request information
GET
No GET data
POST
Variable Value
body-1-value-css_class
''
body-6-type
'two_columns'
body-1-deleted
''
title
'Selvitysvaihe'
body-3-value
('<h3>Edellytykset vaiheen käynnistämiselle</h3><p>[S] Selvitysvaihe voidaan '
'aloittaa, kun jokin hankeidea on todettu selvittämisen arvoiseksi esim. '
'pienimuotoisen <a data-linktype="page" data-id="79" data-parent-id="9" '
'href="http://digi.hel.ninja/kehmet/kokeilu/">kokeilun</a> '
'pohjalta.</p><p><b>Rahoitus.</b> Tyypillisesti potentiaalisten hankkeiden '
'selvitysvaihe rahoitetaan osana normaalia '
'toimintaa.</p><p><b>Hankinta.</b>\xa0Mikäli selvistysvaiheeseen tarvitaan '
'ostettuja resursseja, se ostetaan yleensä varsinaisesta palvelun '
'toteutuksesta erillisenä kokonaisuutena. Tästä on kaksi hyötyä: 1) '
'tavoitteiden ja ratkaisujen pohtiminen pysyy puolueettomana mahdolliseen '
'tulevaan palvelun toteuttajaan nähden, 2) hankinnassa ei vielä sitouduta '
'hankintarajaa suurempaan ostoon. Monesti selvitysvaihe tehdään myös omin '
'voimin. Tällöin on vain hyvä miettiä, kuka pystyy vetämään työpajat niin '
'että tärkeimmät osapuolet pääsevät keskittymään '
'sisältöön.</p><p>Palvelumuotoilupalveluita kaupungin sisäiseen käyttöön '
'Helsingin kaupungin Oiva-akatemia on kilpailuttanut puitesopimuksen '
'palvelumuotoilusta, ja sitä voi käyttää selvitys- ja alfa-vaiheen '
'läpiviennin hankkimiseen. Puitesopimuksen yhteyshenkilö on Meri Virta. '
'[/S]</p><h3>Kriteerit vaiheen päättämiselle</h3><p>Selvitysvaiheesta '
'alfavaiheeseen voi siirtyä vain mikäli '
'vähintään:</p><p></p><ol><li>ohjelmiston visiolakana on täytetty '
'vuorovaikutuksessa käyttäjien kanssa\xa0</li><li>avainresurssit on '
'löydetty ja saatu sitoutumaan projektiin</li><li>priorisoitu (ei '
'kuitenkaan kaiken kattava) tuotteen kehitysjono on olemassa\xa0</li><li>on '
'tehty arvio ja esitys alfavaiheen läpivientiin tarvittavista resursseista '
'(työmääräarvio, karkea aikataulu, '
'kustannukset)<br/></li></ol><p></p><p>Palvelupäällikkö ja/tai ohjausryhmä '
'voivat myös pyytää selvitysvaiheen tuloksiin tarkennuksia ja uutta '
'esitystä. Vaihe voidaan käynnistää myös kokonaan uudestaan uudesta '
'näkökulmasta.</p>')
slug
'selvitysvaihe'
body-5-order
'5'
body-count
'7'
body-1-order
'1'
body-3-order
'3'
body-5-type
'paragraph'
body-6-value-left_column-0-type
'paragraph'
body-6-value-left_column-0-order
'0'
action-publish
'action-publish'
body-6-value-right_column-count
'1'
body-1-type
'image_map'
body-2-type
'paragraph'
body-6-value-right_column-0-value
'<p>lorem ipsum</p>'
body-4-order
'4'
body-0-value
'Selvitysvaihe'
body-6-value-left_column-0-deleted
''
csrfmiddlewaretoken
'PZJS21oI3y9s1hJKnqkKOEd7j99LsFtL'
body-6-value-right_column-0-order
'0'
body-5-deleted
''
go_live_at
''
body-6-deleted
''
body-5-value
('<h3>Tuotokset</h3><p>Selvitysvaiheessa tuotokset ovat '
'hallinnollisia:</p><ol><li><b>Tuote- tai palveluvisio </b>rakennetaan '
'tavoitetyöpajoissa, ja sen formaattina on usein visiolakana, lean canvas '
'tai business model canvas). <i>Täytettävä visiolakanapohja\xa0<a '
'data-linktype="document" data-id="9" '
'href="/documents/9/VisiolakanaV2.pptx">visiolakana.pptx</a>.</i></li><li>Priorisoitu\xa0'
'<b>kehitysjono</b>\xa0syntyy käyttäjätarinatyöpajojen lopputuloksena esim. '
'fyysiseksi tauluksi jossa käyttäjätarinat ovat tärkeysjärjestyksessä, tai '
'sähköisesti tehtävänhallintatyökaluun kuten Taigaan tai Trelloon.\xa0<a '
'href="https://tree.taiga.io/project/juyrjola-tiedonohjausjarjestelma/backlog">Esimerkki '
'tiedonohjausjärjestelmäprojektin kehitysjonosta '
'(Tree.taiga.io).</a></li></ol><p>Mikäli mahdollista, näiden tueksi '
'kannattaa lisäksi synnyttää seuraavat:</p><ol><li>Karkeat <b>mittarit</b> '
'tulevat samoin tavoitetyöpajoista, ja ovat mieluiten joko numeromuotoisia '
'tai kyllä/ei-muotoisia. Tämä auttaa palvelun tekijöitä hahmottamaan '
'konkreettisesti, mistä onnistumisen tunnistaa. Tyypillisiä mittareita ovat '
'esim. uudentyyppiselle palvelulle saatavat käyttäjävirrat, säästö palvelun '
'käyttäjän tai ylläpitäjän ajassa ja vaivassa tai vähentyneet '
'virhetilanteisiin tai tietämättömyyteen liittyvät '
'yhteydenotot.</li><li><b>Havainnollistukset</b> ovat käytännössä esim. '
'käsin piirrettyjä tulevasta palvelusta tai hyvin yksinkertaisia '
'mallinnuksia verkosta saatavissa olevilla työkaluilla. Selvitysvaiheessa '
'ei siis yleensä kannata tehdä ohjelmistokehitystä.</li><li><b><a '
'href="https://fnoll.wordpress.com/2012/08/20/kayttajapersoonat/">Käyttäjäpersoonat '
'(fnoll.wordpress.com)</a></b> tiivistävät käyttäjätutkimuksen tulokset '
'kuvitteellisiksi arkkityypeiksi, jotka konkretisoivat palvelun '
'käyttäjäryhmiä ja siten helpottavat priorisointia ja päätöksentekoa. '
'Niiden tekemiseen menee jonkin verran aikaa, mutta varsinakin laajoissa '
'palveluissa investointi yleensä kannattaa. <a '
'href="https://blogs.aalto.fi/itainnovaatiopalvelu/2011/10/20/kayttajapersoonat-herattavat-kayttajat-eloon/">Aalto-yliopiston '
'esimerkki käyttäjätarinoista (Blogs.aalto.fi).</a>\xa0Käyttäjätarinoihin '
'voidaan jo tässä vaiheessa liittää rajoitteita \xa0jos riskianalyysissä '
'havaittuja riskejä voidaan hallita rajoittamalla käyttäjien toimintaa '
'joillakin tavoin.</li><li><b><a data-linktype="page" data-id="75" '
'data-parent-id="74" '
'href="http://digi.hel.ninja/kehmet/yleiskayttoiset-tyokalut-ja-menetelmat/riskianalyysi/">Riskianalyysi</a></b>, '
'jossa on priorisoitu lista riskeistä, jolle tulee kehitystyön kuluessa '
'tehdä jotakin.</li></ol>')
body-4-deleted
''
body-6-value-right_column-0-type
'paragraph'
body-4-type
'paragraph'
body-2-order
'2'
search_description
''
body-3-deleted
''
body-0-deleted
''
body-6-value-right_column-0-deleted
''
body-6-value-left_column-count
'1'
expire_at
''
seo_title
''
body-2-deleted
''
body-2-value
('<p>\xa0</p><p>Selvitysvaiheessa ymmärretään kehitysprojektin lähtötilanne '
'ja toimintaympäristö sekä käyttäjien tarpeet. Näistä yhteensä syntyvät '
'kehitystyön tavoitteet. Erittäin tärkeää on, että jo selvitysvaiheessa '
'saadaan tarpeista palautetta oikeilta loppukäyttäjiltä. Näin pystytään '
'tarkistamaan, että palvelun tekijöiden arvaukset käyttäjien tarpeista '
'vastaavat totuutta.</p><p>Samalla jo kootaan yhteen ja otetaan mukaan '
'työhön kehitystyön ydinhenkilöt: palvelun päävastuullinen tilaaja eli '
'hankkeen palvelupäällikkö, joka vastaa palvelun kehittämisestä '
'toivottavasti selvitysvaiheesta intensiivisen kehitysvaiheen jälkeiseen '
'ylläpidon ja pienkehityksen arkeen asti. Lisäksi mukaan tarvitaan '
'päätöksentekijät sekä tärkeimmät tarvittavat asiantuntijat. Tällä '
'varmistetaan, että tärkeimmät henkilöt ovat olleet mukana aivan tekemisen '
'alusta asti.</p><p>Selvitysvaiheessa myös mietitään karkeasti, millaisia '
'rajoituksia tulevaan kehitystyöhön kohdistuu (esim. resurssit, '
'lainsäädäntö tai muut säännökset, ja mikäli kyse on IT-kehityksestä, '
'palvelua koskevat IT-arkkitehtuuriperiaatteet, tarvittava '
'tietoturvallisuuden taso).\xa0<br/></p><p>Selvitysvaihe kestää yleensä '
'parista viikosta kahteen kuukauteen, ja pituuteen vaikuttaa eniten '
'työpaja- ja kokousaikojen sovitteleminen tiimin sekä käyttäjien kanssa.</p>')
next
''
body-0-type
'heading'
body-4-value
('<h3>Vaiheen tehtävät</h3><h4>Ohjaus</h4><p>Ohjauksesta huolehtii ohjaus- '
'tai johtoryhmä. Ohjauksen tärkein tehtävä selvitysvaiheessa on päättää, '
'vaikuttaako palvelu riskit huomioonottaen niin lupaavalta, että sitä '
'kannattaa lähteä kehittämään käytännössä alfavaiheeseen. Mikäli tähän '
'päädytään, on vielä päätöksellä varmistettava palvelun tavoitteet ja niitä '
'seuraavat mittarit sekä vähintään alfavaiheen resursointi (ml. mahdollinen '
'hankinta). Mikäli ohjaus-/johtoryhmää ei vielä ole, päätöksentekijänä '
'toimii hankkeen ohjausryhmä tai sen toiminnan päävastuullinen, jonka '
'alalta selvitys tehdään.</p><h4>Johtaminen</h4><p>Selvitysvaiheen '
'päivittäisjohtamisesta vastaa palvelupäällikkö, joka on myös mukana '
'vaiheen toteutustyössä. Hänen tärkein tehtävänsä on varmistaa, että '
'tarpeet priorisoidaan oikein suhteessa sen toiminnan ja niiden asiakkaiden '
'tarpeisiin, joita palvelemaan tuleva palvelu on '
'tulossa.</p><h4>Toteutus</h4><p>Toteutuksen tekevät selvitysvaiheessa '
'palvelupäällikkö ja muotoilija yhdessä.\xa0Seuraavat asiat on saatava '
'selvitysvaiheessa hoidetuksi:</p><p></p><p></p><p></p><p></p><ol><li><b><a '
'data-linktype="page" data-id="54" data-parent-id="74" '
'href="http://digi.hel.ninja/kehmet/yleiskayttoiset-tyokalut-ja-menetelmat/kayttajatutkimus/">Käyttäjien '
'osallistaminen</a>.</b> Joko olemassa olevan palvelun <a '
'href="https://fi.wikipedia.org/wiki/Kävijäseuranta">kävijäseurannan\xa0'
'(wikipedia.org/Kävijäseuranta)</a>\xa0tai suoran käyttäjätutkimuksen '
'keinoin hahmotetaan, mitä käyttäjät oikeasti palvelulta tarvitsevat. '
'Ajatuksena on saada dataa päätösten taustalle, jotta pystytään '
'irrottautumaan tekijöiden omista mieltymyksistä. Mikäli on epävarmuutta '
'siitä, keitä palvelun käyttäjät ovat, <a data-linktype="page" data-id="30" '
'data-parent-id="28" '
'href="http://digi.hel.ninja/kehmet/toiminnan-kehityksen-edellytykset/asiakkaan-ymmartaminen/">ks. '
'kohta "asiakkaan ymmärtäminen"</a> jatkuvan kehittämisen '
'mallista.</li><li><b>Tavoite- ja konsepti</b><a '
'href="http://www.talouselama.fi/tyoelama/tunnetaanko-teilla-fasilitointi-3381025"><b>työpajoissa '
'</b>(ks. Talouselämän tiivistelmä fasilitoinnista)</a> keskitytään '
'kehitettävän palvelun toimintaympäristön hahmottamiseen esim. '
'arvoketjukartoituksella,\xa0<a data-linktype="page" data-id="43" '
'data-parent-id="28" '
'href="http://digi.hel.ninja/kehmet/toiminnan-kehityksen-edellytykset/visio/">ks. '
'jatkuvan kehittämisen mallin kohta visio</a>), palvelun rajoitusten ja '
'reunaehtojen hahmottamiseen mahdollisia lisäselvityksiä varten sekä '
'konseptin kiteyttämiseen suhteessa löydettyihin käyttäjätarpeisiin. '
'Kiteyttämisen työkaluna voidaan käyttää esim. ohjelmiston visiolakanaa. '
'Reunaehtojen kohdalla on syytä etsiä lainsäädännöstä ja muualta tulevia '
'rajoitteita ja sähköisten palveluiden kohdalla tarpeita palvelun '
'tietoturvallisuuteen ja tietosuojaan. Tavoite- ja konseptipajoissa luodaan '
'myös ensimmäinen versio palvelun menestystä kartoittavista mittareista. '
'Lisäksi työpajoissa tehdään ylätason\xa0<a data-linktype="page" '
'data-id="75" data-parent-id="74" '
'href="http://digi.hel.ninja/kehmet/yleiskayttoiset-tyokalut-ja-menetelmat/riskianalyysi/">riskianalyysit '
'</a>palveluun kohdistuvista uhkista ja niiden koosta. Tärkeää on tällöin '
'pohtia nimenomaan palveluun ja sen tuomaan uuteen toimintamalliin '
'kohdistuvia uhkia, aikataulu- tai resursointiriskien '
'lisäksi.</li><li><b>Havainnollistusten</b> ideana on kiinnittää '
'keskusteluita tekijöiden kesken sekä käyttäjien kanssa johonkin sanoja '
'konkreettisempaan, ei vielä kiinnittää esim. tulevan sähköisen palvelun '
'käyttöliittymän ratkaisuja.<br/></li><li><b>Käyttäjätarinatyöpajoissa</b> '
'palveluvisiota viedään askelta konreettisemmalle tasolle: millaisia '
'toimintoja tai osia käyttäjät käyttäjätutkimuksen mukaan palvelulta '
'tarvitsevat? Käyttäjätarinoissa on tärkeää kuvata käyttäjän tyyppi, mitä '
'hän haluaa palvelun osassa saada aikaan sekä miksi hän haluaa tämän tehdä. '
'Esim. käyttäjätarinakartoitus (engl.\xa0<a '
'href="https://www.geekbooks.me/book/view/user-story-mapping">user story '
'mapping, ks. Geekbooks.me</a>) tai vaikutuskartoitus (engl.\xa0<a '
'href="https://www.impactmapping.org">impact mapping, ks. '
'impactmapping.org</a>) on tapa saada kuvattua koko palvelun karkea '
'toiminnallinen kokonaisuus ilman että saman tien joudutaan liian '
'yksityiskohtaiselle tasolle. Kun ensimmäinen kokonaisuus käyttäjätarinoita '
'on saatu aikaan, ne priorisoidaan tavoitteiden, käyttäjätarpeiden ja '
'mittareiden antamien ohjenuorien '
'perusteella.</li></ol><p></p><p>Selvitysvaiheessa työtä ja tekijöitä on '
'vielä melko vähän, joten työskentelyyn riittää usein hyvin yksinkertainen '
'viitekehys kuten\xa0<a data-linktype="page" data-id="50" '
'data-parent-id="74" '
'href="http://digi.hel.ninja/kehmet/yleiskayttoiset-tyokalut-ja-menetelmat/kanban/">Kanban '
'(katso tarkempi menetelmäkuvaus).</a></p><p>Mikäli projektissa on jostakin '
'syystä tarpeen jo tässä kohtaa käyttää muodollisempaa menetelmää, siksi '
'voidaan valita\xa0<b></b><a data-linktype="page" data-id="49" '
'data-parent-id="74" '
'href="http://digi.hel.ninja/kehmet/yleiskayttoiset-tyokalut-ja-menetelmat/scrum/">Scrum.</a></p><p></p>')
body-6-order
'6'
body-0-order
'0'
body-6-value-left_column-0-value
'<p>ipsum lorem</p>'
body-3-type
'paragraph'
body-1-value-map
''
FILES
No FILES data
COOKIES
Variable Value
digihel-csrftoken
'PZJS21oI3y9s1hJKnqkKOEd7j99LsFtL'
digihel-sessionid
'v55jzihb66a4ri32u29fk8eejjapt5v7'
META
Variable Value
SERVER_PORT
'443'
wsgi.run_once
False
SERVER_PROTOCOL
'HTTP/1.1'
HTTP_ACCEPT_ENCODING
'gzip, deflate, br'
CONTENT_LENGTH
'15904'
wsgi.url_scheme
'https'
HTTP_UPGRADE_INSECURE_REQUESTS
'1'
HTTP_CONTENT_LENGTH
'15904'
HTTP_HOST
'digi.hel.ninja'
DOCUMENT_ROOT
'/home/digihel/static'
uwsgi.node
b'nitro'
HTTP_USER_AGENT
('Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Ubuntu Chromium/51.0.2704.79 Chrome/51.0.2704.79 Safari/537.36')
wsgi.file_wrapper
''
QUERY_STRING
''
uwsgi.version
b'1.9.17.1-debian'
wsgi.errors
<_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>
HTTP_DNT
'1'
HTTP_ACCEPT
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
SCRIPT_NAME
''
wsgi.multithread
False
UWSGI_SCHEME
'https'
HTTP_REFERER
'https://digi.hel.ninja/admin/pages/22/edit/'
HTTP_ACCEPT_LANGUAGE
'en-US,en;q=0.8,fi;q=0.6,sv;q=0.4,es;q=0.2,ru;q=0.2'
PATH_INFO
'/admin/pages/22/edit/'
REMOTE_ADDR
'194.197.93.65'
wsgi.version
(1, 0)
HTTP_CACHE_CONTROL
'max-age=0'
wsgi.input
<uwsgi._Input object at 0x7ff2fcd41c48>
HTTP_CONNECTION
'keep-alive'
CSRF_COOKIE
'PZJS21oI3y9s1hJKnqkKOEd7j99LsFtL'
wsgi.multiprocess
True
HTTP_CONTENT_TYPE
'application/x-www-form-urlencoded'
REMOTE_PORT
'21156'
REQUEST_METHOD
'POST'
HTTP_ORIGIN
'https://digi.hel.ninja'
SERVER_NAME
'digi.hel.ninja'
HTTP_COOKIE
('digihel-sessionid=v55jzihb66a4ri32u29fk8eejjapt5v7; '
'digihel-csrftoken=PZJS21oI3y9s1hJKnqkKOEd7j99LsFtL')
CONTENT_TYPE
'application/x-www-form-urlencoded'
REQUEST_URI
'/admin/pages/22/edit/'
Settings
Using settings module digihel.settings
Setting Value
WSGI_APPLICATION
'digihel.wsgi.application'
TEMPLATE_STRING_IF_INVALID
''
COMPRESS_VERBOSE
False
SESSION_SERIALIZER
'django.contrib.sessions.serializers.JSONSerializer'
SITE_ID
1
DEFAULT_EXCEPTION_REPORTER_FILTER
'django.views.debug.SafeExceptionReporterFilter'
COMPRESS_MINT_DELAY
30
STATICFILES_STORAGE
'django.contrib.staticfiles.storage.StaticFilesStorage'
COMPRESS_OFFLINE_TIMEOUT
31536000
COMPRESS_CLEAN_CSS_ARGUMENTS
''
BOWER_COMPONENTS_ROOT
'/home/digihel/digihel/components/'
DEFAULT_CONTENT_TYPE
'text/html'
SESSION_COOKIE_PATH
'/'
COMPRESS_STORAGE
'compressor.storage.CompressorFileStorage'
DEFAULT_CHARSET
'utf-8'
INSTALLED_APPS
['users',
'helusers',
'people',
'content',
'kehmet',
'digi',
'feedback',
'search',
'wagtail.wagtailforms',
'wagtail.wagtailredirects',
'wagtail.wagtailembeds',
'wagtail.wagtailsites',
'wagtail.wagtailusers',
'wagtail.wagtailsnippets',
'wagtail.wagtaildocs',
'wagtail.wagtailimages',
'wagtail.wagtailsearch',
'wagtail.wagtailadmin',
'wagtail.wagtailcore',
'wagtail.contrib.modeladmin',
'wagtail.contrib.table_block',
'compressor',
'modelcluster',
'taggit',
'blog',
'djangobower',
'wagtail_svgmap',
'djcelery',
'allauth',
'allauth.account',
'allauth.socialaccount',
'helusers.providers.helsinki',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sites',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.humanize']
DATABASES
{'default': {'ATOMIC_REQUESTS': True,
'AUTOCOMMIT': True,
'CONN_MAX_AGE': 600,
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '',
'NAME': 'digihel',
'OPTIONS': {},
'PASSWORD': '********************',
'PORT': '',
'TEST': {'CHARSET': None,
'COLLATION': None,
'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': 'digihel'}}
SHORT_DATETIME_FORMAT
'm/d/Y P'
TEMPLATE_DEBUG
False
LANGUAGE_COOKIE_NAME
'django_language'
COMPRESS_TEMPLATE_FILTER_CONTEXT
{'STATIC_URL': '/static/'}
TEMPLATE_LOADERS
['django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader']
WAGTAIL_SITE_NAME
'digihel'
EMAIL_SSL_KEYFILE
'********************'
MIDDLEWARE_CLASSES
['django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'wagtail.wagtailcore.middleware.SiteMiddleware',
'wagtail.wagtailredirects.middleware.RedirectMiddleware']
COMPRESS_YUGLIFY_BINARY
'yuglify'
COMPRESS_CACHEABLE_PRECOMPILERS
()
USE_X_FORWARDED_HOST
False
COMPRESS_MTIME_DELAY
10
EMAIL_BACKEND
'django.core.mail.backends.smtp.EmailBackend'
LANGUAGE_COOKIE_AGE
None
COMPRESS_CSS_COMPRESSOR
'compressor.css.CssCompressor'
CACHE_MIDDLEWARE_ALIAS
'default'
COMPRESS_OUTPUT_DIR
'CACHE'
COMPRESS_CSS_HASHING_METHOD
'mtime'
TEST_RUNNER
'django.test.runner.DiscoverRunner'
DECIMAL_SEPARATOR
'.'
DEBUG_PROPAGATE_EXCEPTIONS
False
FILE_UPLOAD_MAX_MEMORY_SIZE
2621440
FIXTURE_DIRS
[]
COMPRESS_JS_FILTERS
['compressor.filters.jsmin.JSMinFilter']
COMPRESS_OFFLINE_CONTEXT
{'STATIC_URL': '/static/'}
SOCIALACCOUNT_ADAPTER
'helusers.providers.helsinki.provider.SocialAccountAdapter'
MANAGERS
[]
FILE_UPLOAD_PERMISSIONS
None
SECURE_BROWSER_XSS_FILTER
False
EMAIL_HOST
'localhost'
ADMINS
[]
COMPRESS_CLOSURE_COMPILER_BINARY
'java -jar compiler.jar'
SESSION_COOKIE_NAME
'digihel-sessionid'
DATETIME_FORMAT
'N j, Y, P'
FILE_UPLOAD_DIRECTORY_PERMISSIONS
None
USE_ETAGS
False
CSRF_COOKIE_AGE
31449600
SECURE_PROXY_SSL_HEADER
('HTTP_X_FORWARDED_PROTO', 'https')
SECURE_HSTS_INCLUDE_SUBDOMAINS
False
SIGNING_BACKEND
'django.core.signing.TimestampSigner'
SESSION_ENGINE
'django.contrib.sessions.backends.db'
INTERNAL_IPS
[]
JWT_AUTH
{'JWT_AUDIENCE': 'digihel',
'JWT_PAYLOAD_GET_USER_ID_HANDLER': 'helusers.jwt.get_user_id_from_payload_handler',
'JWT_SECRET_KEY': '********************'}
COMPRESS_OFFLINE
False
CSRF_COOKIE_HTTPONLY
False
COMPRESS_CACHE_KEY_FUNCTION
'********************'
CSRF_COOKIE_SECURE
False
LANGUAGE_COOKIE_DOMAIN
None
FORCE_SCRIPT_NAME
None
DEFAULT_TABLESPACE
''
COMPRESS_REBUILD_TIMEOUT
2592000
COMPRESS_YUI_CSS_ARGUMENTS
''
SESSION_COOKIE_HTTPONLY
True
COMPRESS_CACHE_BACKEND
'default'
SOCIALACCOUNT_PROVIDERS
{'helsinki': {'VERIFIED_EMAIL': True}}
COMPRESS_CSS_FILTERS
('compressor.filters.css_default.CssAbsoluteFilter',
'django_compressor_autoprefixer.AutoprefixerFilter')
TEST_NON_SERIALIZED_APPS
[]
CSRF_COOKIE_PATH
'/'
TEMPLATE_CONTEXT_PROCESSORS
['django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages']
EMAIL_USE_SSL
False
COMPRESS_ROOT
'/home/digihel/static'
MIGRATION_MODULES
{}
COMPRESS_PARSER
'compressor.parser.AutoSelectParser'
DEFAULT_FROM_EMAIL
'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE
''
COMPRESS_YUGLIFY_JS_ARGUMENTS
'--terminal'
TIME_INPUT_FORMATS
['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
ALLOWED_HOSTS
['digi.hel.ninja']
SESSION_COOKIE_SECURE
True
CACHE_MIDDLEWARE_SECONDS
600
LANGUAGE_COOKIE_PATH
'/'
COMPRESS_YUGLIFY_CSS_ARGUMENTS
'--terminal'
ALLOWED_INCLUDE_ROOTS
[]
SESSION_COOKIE_AGE
1209600
COMPRESS_CLOSURE_COMPILER_ARGUMENTS
''
LOGOUT_URL
'/accounts/logout/'
BASE_DIR
'/home/digihel/digihel'
WAGTAILSEARCH_BACKENDS
{'default': {'BACKEND': 'search.elasticsearch_backend',
'INDEX': 'digihel',
'TIMEOUT': 5,
'URLS': ['http://localhost:9200']}}
SETTINGS_MODULE
'digihel.settings'
TIME_FORMAT
'P'
NUMBER_GROUPING
0
EMAIL_HOST_USER
''
AUTH_PASSWORD_VALIDATORS
'********************'
LOCALE_PATHS
['/home/digihel/digihel/locale', '/home/digihel/digihel/../locale']
COMPRESS_OFFLINE_MANIFEST
'manifest.json'
BOWER_INSTALLED_APPS
['bourbon#4.2.7',
'bootstrap-sass#3.3.7',
'jquery#<3.0',
'bootstrap-validator#0.11.5',
'remarkable-bootstrap-notify#3.1.3',
'matchHeight#0.7.0']
CACHE_MIDDLEWARE_KEY_PREFIX
'********************'
LANGUAGE_CODE
'fi'
IGNORABLE_404_URLS
[]
THOUSAND_SEPARATOR
','
PASSWORD_RESET_TIMEOUT_DAYS
'********************'
LANGUAGES_BIDI
['he', 'ar', 'fa', 'ur']
PROJECT_DIR
'/home/digihel/digihel/digihel'
BROKER_URL
'redis://localhost:6379/0'
ACCOUNT_LOGOUT_ON_GET
True
COMPRESS_JINJA2_GET_ENVIRONMENT
<function CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7ff2fd01c730>
COMPRESS_CLEAN_CSS_BINARY
'cleancss'
MEDIA_URL
'/media/'
COMPRESS_YUI_BINARY
'java -jar yuicompressor.jar'
CSRF_HEADER_NAME
'HTTP_X_CSRFTOKEN'
LANGUAGES
[('af', 'Afrikaans'),
('ar', 'Arabic'),
('ast', 'Asturian'),
('az', 'Azerbaijani'),
('bg', 'Bulgarian'),
('be', 'Belarusian'),
('bn', 'Bengali'),
('br', 'Breton'),
('bs', 'Bosnian'),
('ca', 'Catalan'),
('cs', 'Czech'),
('cy', 'Welsh'),
('da', 'Danish'),
('de', 'German'),
('el', 'Greek'),
('en', 'English'),
('en-au', 'Australian English'),
('en-gb', 'British English'),
('eo', 'Esperanto'),
('es', 'Spanish'),
('es-ar', 'Argentinian Spanish'),
('es-co', 'Colombian Spanish'),
('es-mx', 'Mexican Spanish'),
('es-ni', 'Nicaraguan Spanish'),
('es-ve', 'Venezuelan Spanish'),
('et', 'Estonian'),
('eu', 'Basque'),
('fa', 'Persian'),
('fi', 'Finnish'),
('fr', 'French'),
('fy', 'Frisian'),
('ga', 'Irish'),
('gd', 'Scottish Gaelic'),
('gl', 'Galician'),
('he', 'Hebrew'),
('hi', 'Hindi'),
('hr', 'Croatian'),
('hu', 'Hungarian'),
('ia', 'Interlingua'),
('id', 'Indonesian'),
('io', 'Ido'),
('is', 'Icelandic'),
('it', 'Italian'),
('ja', 'Japanese'),
('ka', 'Georgian'),
('kk', 'Kazakh'),
('km', 'Khmer'),
('kn', 'Kannada'),
('ko', 'Korean'),
('lb', 'Luxembourgish'),
('lt', 'Lithuanian'),
('lv', 'Latvian'),
('mk', 'Macedonian'),
('ml', 'Malayalam'),
('mn', 'Mongolian'),
('mr', 'Marathi'),
('my', 'Burmese'),
('nb', 'Norwegian Bokmal'),
('ne', 'Nepali'),
('nl', 'Dutch'),
('nn', 'Norwegian Nynorsk'),
('os', 'Ossetic'),
('pa', 'Punjabi'),
('pl', 'Polish'),
('pt', 'Portuguese'),
('pt-br', 'Brazilian Portuguese'),
('ro', 'Romanian'),
('ru', 'Russian'),
('sk', 'Slovak'),
('sl', 'Slovenian'),
('sq', 'Albanian'),
('sr', 'Serbian'),
('sr-latn', 'Serbian Latin'),
('sv', 'Swedish'),
('sw', 'Swahili'),
('ta', 'Tamil'),
('te', 'Telugu'),
('th', 'Thai'),
('tr', 'Turkish'),
('tt', 'Tatar'),
('udm', 'Udmurt'),
('uk', 'Ukrainian'),
('ur', 'Urdu'),
('vi', 'Vietnamese'),
('zh-hans', 'Simplified Chinese'),
('zh-hant', 'Traditional Chinese')]
USE_L10N
True
DEBUG
True
COMPRESS_YUI_JS_ARGUMENTS
''
CELERY_RESULT_BACKEND
'djcelery.backends.database:DatabaseBackend'
APPEND_SLASH
True
COMPRESS_URL
'/static/'
COMPRESS_AUTOPREFIXER_BINARY
'/home/digihel/digihel/node_modules/.bin/postcss'
TIME_ZONE
'Europe/Helsinki'
COMPRESS_DEBUG_TOGGLE
None
USE_TZ
True
SECURE_REDIRECT_EXEMPT
[]
DATETIME_INPUT_FORMATS
['%Y-%m-%d %H:%M:%S',
'%Y-%m-%d %H:%M:%S.%f',
'%Y-%m-%d %H:%M',
'%Y-%m-%d',
'%m/%d/%Y %H:%M:%S',
'%m/%d/%Y %H:%M:%S.%f',
'%m/%d/%Y %H:%M',
'%m/%d/%Y',
'%m/%d/%y %H:%M:%S',
'%m/%d/%y %H:%M:%S.%f',
'%m/%d/%y %H:%M',
'%m/%d/%y']
YEAR_MONTH_FORMAT
'F Y'
SERVER_EMAIL
'root@localhost'
DISALLOWED_USER_AGENTS
[]
CSRF_FAILURE_VIEW
'django.views.csrf.csrf_failure'
SITE_TYPE
'test'
SECURE_SSL_HOST
None
X_FRAME_OPTIONS
'SAMEORIGIN'
FILE_UPLOAD_TEMP_DIR
None
EMAIL_SUBJECT_PREFIX
'[Django] '
BOWER_PATH
'/home/digihel/digihel/node_modules/.bin/bower'
LOGIN_REDIRECT_URL
'https://api.hel.fi/digihel/admin/'
STATIC_ROOT
'/home/digihel/static'
CSRF_COOKIE_DOMAIN
None
EMAIL_TIMEOUT
None
SECRET_KEY
'********************'
LOGGING_CONFIG
'logging.config.dictConfig'
EMAIL_SSL_CERTFILE
None
SILENCED_SYSTEM_CHECKS
[]
AUTHENTICATION_BACKENDS
('django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend')
DATE_INPUT_FORMATS
['%Y-%m-%d',
'%m/%d/%Y',
'%m/%d/%y',
'%b %d %Y',
'%b %d, %Y',
'%d %b %Y',
'%d %b, %Y',
'%B %d %Y',
'%B %d, %Y',
'%d %B %Y',
'%d %B, %Y']
FILE_UPLOAD_HANDLERS
['django.core.files.uploadhandler.MemoryFileUploadHandler',
'django.core.files.uploadhandler.TemporaryFileUploadHandler']
DATE_FORMAT
'N j, Y'
LOGIN_URL
'/accounts/login/'
MONTH_DAY_FORMAT
'F j'
COMPRESS_ENABLED
True
STATICFILES_FINDERS
['django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
'djangobower.finders.BowerFinder',
'compressor.finders.CompressorFinder']
SECURE_HSTS_SECONDS
0
USE_I18N
True
DEFAULT_FILE_STORAGE
'django.core.files.storage.FileSystemStorage'
AUTH_USER_MODEL
'users.User'
CSRF_COOKIE_NAME
'digihel-csrftoken'
LOGGING
{}
EMAIL_USE_TLS
False
SECURE_CONTENT_TYPE_NOSNIFF
False
PREPEND_WWW
False
COMPRESS_PRECOMPILERS
(('text/x-scss', 'django_libsass.SassCompiler'),)
FIRST_DAY_OF_WEEK
0
SHORT_DATE_FORMAT
'm/d/Y'
USE_THOUSAND_SEPARATOR
False
SESSION_SAVE_EVERY_REQUEST
False
CSRF_TRUSTED_ORIGINS
[]
MEDIA_ROOT
'/home/digihel/media'
PASSWORD_HASHERS
'********************'
ACCOUNT_DEFAULT_HTTP_PROTOCOL
'https'
MESSAGE_STORAGE
'django.contrib.messages.storage.fallback.FallbackStorage'
TEMPLATES
[{'APP_DIRS': True,
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['/home/digihel/digihel/digihel/templates'],
'OPTIONS': {'context_processors': ['django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages']}}]
STATIC_URL
'/static/'
DATABASE_ROUTERS
[]
FILE_CHARSET
'utf-8'
CACHES
{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
SESSION_COOKIE_DOMAIN
None
COMPRESS_DATA_URI_MAX_SIZE
1024
ABSOLUTE_URL_OVERRIDES
{}
STATICFILES_DIRS
['/home/digihel/digihel/digihel/static']
EMAIL_PORT
25
SECURE_SSL_REDIRECT
False
EMAIL_HOST_PASSWORD
'********************'
TEMPLATE_DIRS
[]
SESSION_CACHE_ALIAS
'default'
USE_X_FORWARDED_PORT
False
SESSION_EXPIRE_AT_BROWSER_CLOSE
False
FORMAT_MODULE_PATH
None
COMPRESS_JS_COMPRESSOR
'compressor.js.JsCompressor'
ROOT_URLCONF
'digihel.urls'
SESSION_FILE_PATH
None
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.
Traceback: http://dpaste.com/38K89Q1
Workaround: Always re-configure
map
in ImageMapBlocks when starting to edit the page. :confounded: