{"id":26491849,"url":"https://github.com/danielc92/django-sandbox","last_synced_at":"2026-04-17T02:33:48.951Z","repository":{"id":100322556,"uuid":"186523119","full_name":"danielc92/django-sandbox","owner":"danielc92","description":"Django sandbox to test djangos features","archived":false,"fork":false,"pushed_at":"2019-05-28T00:48:45.000Z","size":6750,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-20T08:51:37.021Z","etag":null,"topics":["django","learning-by-doing","python"],"latest_commit_sha":null,"homepage":"","language":"Python","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/danielc92.png","metadata":{"files":{"readme":"README.md","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":"2019-05-14T01:39:34.000Z","updated_at":"2022-07-22T02:54:54.000Z","dependencies_parsed_at":"2023-05-13T18:45:21.249Z","dependency_job_id":null,"html_url":"https://github.com/danielc92/django-sandbox","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danielc92/django-sandbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielc92%2Fdjango-sandbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielc92%2Fdjango-sandbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielc92%2Fdjango-sandbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielc92%2Fdjango-sandbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielc92","download_url":"https://codeload.github.com/danielc92/django-sandbox/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielc92%2Fdjango-sandbox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31912513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["django","learning-by-doing","python"],"created_at":"2025-03-20T08:50:57.131Z","updated_at":"2026-04-17T02:33:48.938Z","avatar_url":"https://github.com/danielc92.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Project Title\nA sandbox project to test functionality of Django Framework.\n\n# Before you get started\nConcepts covered in this project:\n- Request methods (POST, GET)\n- Template Engine (Jinja)\n- ORM Models\n- Migrating ORM Models\n- Creating forms from ORM Models\n- One to Many, Many to Many relationships\n- Rendering templates from ORM Models\n- File uploading\n- Basic HTML knowledge\n- Postgres as backend database\n- Redis as backend cache for queries\n- Redis as session backend cache\n- Authentication using inbuilt models (login, logout, login_required)\n- Using Class Based views for Listing, Updating, Creating objects\n\n# Setup\n**How to obtain this repository:**\n```sh\ngit clone https://github.com/danielc92/django-sandbox.git\n```\n\n**This project uses a python 3.7 virtual environment**\n```sh\nvirtualenv --python=/path/to/python3bin venv\nsource venv/bin/activate\npip install django django-tinymce django_crispy_forms pillow\n```\n\n**To create the database for the first time**\n```sh\ncd path/to/this/project (where manage.py resides)\npython manage.py makemigrations\npython manage.py migrate\n```\n\n# Tests\n- Created Dog and DogOwner models (one to many relationship)\n- Created Article and Tag models (many to many relationship)\n- Created and tested route to create new Dogs\n- Created and tested route to create new Articles (Tags have to be created beforehand)\n- Render Dogs/Owners/Articles in list style\n- Accessing all the custom models in admin panel\n- Tested MCE widget for html editing functionality\n- Setting and getting cached queries\n- Setting and getting cached session (note `SESSION_ENGINE` and `SESSION_COOKIE_AGE` used to control TTL)\n- Creating account (based on UserCreationForm)\n- Logging in with account (updating session)\n- Logging out (clearing session)\n- Created Class based views/templates to list, update and create new `Desk` objects\n\n# Notes\n- When created a model/form class which uses ImageField make sure request.FILES is passed into form model (eg DogForm(request.POST, request.FILES))\n- When uploading files make sure `MEDIA_ROOT` and `MEDIA_URL` are set for usage in `DEBUG` mode. Additionally make sure media is added to urlpatterns in `urls.py`\n- When creating a model/form class which uses ImageField make sure `enctype=\"multipart/form-data\"` is present in the form attributes.\n- Adjust timezone in settings.py. Timezone strings can be found in django docs\n\n# Contributors\n- Daniel Corcoran\n\n# Sources\n- [Django Documentation Home Page](https://docs.djangoproject.com/en/2.2/)\n- [Django Documentation - ListView, DetailView](https://docs.djangoproject.com/en/2.2/topics/class-based-views/generic-display/)\n- [Django Documentation - Generic Editing Views](https://docs.djangoproject.com/en/2.2/ref/class-based-views/generic-editing/)\n- [Adding TinyMCE editor to Django Tutorial](https://www.codementor.io/hiteshgarg14/how-to-integrate-custom-rich-text-editor-in-django-54czmp0gi)\n- [User Registration Tutorial by Corey Schafer](https://www.youtube.com/watch?v=q4jPR-M0TAQ)\n- [Login, Logout Tutorial by Corey Schafer](https://www.youtube.com/watch?v=3aVqWaLjqS4)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielc92%2Fdjango-sandbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielc92%2Fdjango-sandbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielc92%2Fdjango-sandbox/lists"}