{"id":16417246,"url":"https://github.com/kezabelle/django-technicalerrors","last_synced_at":"2025-03-21T03:33:25.852Z","repository":{"id":136155238,"uuid":"445522806","full_name":"kezabelle/django-technicalerrors","owner":"kezabelle","description":"Subjectively 'better' technical debug pages for 404/500 errors.","archived":false,"fork":false,"pushed_at":"2022-02-01T21:06:55.000Z","size":745,"stargazers_count":45,"open_issues_count":2,"forks_count":0,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-01T02:34:23.033Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CSS","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kezabelle.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-07T13:01:46.000Z","updated_at":"2024-12-26T09:45:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"5ce9394e-1384-4f90-9c69-5bda9abb280f","html_url":"https://github.com/kezabelle/django-technicalerrors","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kezabelle%2Fdjango-technicalerrors","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kezabelle%2Fdjango-technicalerrors/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kezabelle%2Fdjango-technicalerrors/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kezabelle%2Fdjango-technicalerrors/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kezabelle","download_url":"https://codeload.github.com/kezabelle/django-technicalerrors/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244105804,"owners_count":20398921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T07:11:22.596Z","updated_at":"2025-03-21T03:33:25.571Z","avatar_url":"https://github.com/kezabelle.png","language":"CSS","readme":"django-technicalerrors\r\n======================\r\n\r\n:author: Keryn Knight\r\n:version: 0.1.0\r\n\r\nA reusable `Django`_ application which provides alternate templates for the error\r\npages shown when `DEBUG = True`\r\n\r\n\r\nScreenshots\r\n-----------\r\n\r\nThese are heavily work-in-progress, as I think through the various bits...\r\n\r\n500 (Server Error)\r\n^^^^^^^^^^^^^^^^^^\r\n\r\n.. image:: https://raw.githubusercontent.com/kezabelle/django-technicalerrors/main/images/500.png\r\n   :alt: technical 500 page\r\n   :width: 400px\r\n   :align: left\r\n   :target: https://raw.githubusercontent.com/kezabelle/django-technicalerrors/main/images/500.png\r\n\r\n\r\n404 (Not found)\r\n^^^^^^^^^^^^^^^^^^\r\n\r\n.. image:: https://raw.githubusercontent.com/kezabelle/django-technicalerrors/main/images/404.png\r\n   :alt: technical 404 page\r\n   :width: 400px\r\n   :align: left\r\n   :target: https://raw.githubusercontent.com/kezabelle/django-technicalerrors/main/images/404.png\r\n\r\nWhy though?\r\n-----------\r\n\r\nOnce upon a time, when the web was younger and simpler, I was a web designer. Times changed, the world of frontend exploded and things have changed enough that I'm not super familiar with things like `Tailwind`_, nor as familar with `TypeScript`_ as I'd like.\r\n\r\nTo a degree then, this is just a toy repository for me to explore `Tailwind`_ and\r\nto a lesser extent, `TypeScript`_.\r\n\r\nAlong the way, I may produce screens which are *subjectively* better than those\r\ncurrently bundled with `Django`_, whose error pages have largely stood still (and arguably stood the test of time) since\r\n**2005**.\r\n\r\nGoals\r\n-----\r\n\r\n- Maintain the same level of information the current debug pages have (because\r\n  that's all the context data I have).\r\n- Responsive.\r\n- Dark mode support.\r\n- Clarity of information. If it's harder to see the information, well, job failed.\r\n- Accessible. Mostly because I don't know as much about modern a11y as I should.\r\n- Ideally, reader mode friendly. I'm not sure how achievable that is, but it'd\r\n  be super nice if the extraneous visuals *could* be stripped away by the browser.\r\n\r\nNon-goals\r\n---------\r\n\r\n- TODO :)\r\n\r\nTargets\r\n-------\r\n\r\n- Technical 404 page\r\n- Technical 500 page\r\n- ... others?\r\n\r\nNotes\r\n-----\r\n\r\nThere's a number of differences between the data given to the 500 and 404 pages, which I'd need to get fixed upstream to be consistent, but that's likely a hard sell if they're not *used* ...\r\n\r\n- Unfortunately, the context given to the **404** page doesn't include any of the following:\r\n\r\n  - The Django version (e.g. ``4.0.1``)\r\n  - The Python version (e.g. ``3.9.5``)\r\n  - The server time (e.g. ``Fri, 21 Jan 2022 20:47:51 +0000``)\r\n  - The frame which caused the ``Http404`` to be thrown.\r\n- Ideally the *source* lines shown in the **template** and **traceback** panels would be fixed up using ``textwrap.dedent`` based on the ``[top:bottom]`` being selected.\r\n- None of the contexts return the HTTP status code, which would mean having to hard-code the individual values if I wanted to suggest which HTML template would be rendered instead, in production. Not problematic, really ...\r\n\r\n.. _Django: https://docs.djangoproject.com/\r\n.. _Tailwind: https://tailwindcss.com/\r\n.. _TypeScript: https://www.typescriptlang.org/\r\n","funding_links":[],"categories":["CSS"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkezabelle%2Fdjango-technicalerrors","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkezabelle%2Fdjango-technicalerrors","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkezabelle%2Fdjango-technicalerrors/lists"}