{"id":22337685,"url":"https://github.com/mkdika/djangoexample","last_synced_at":"2026-05-18T06:14:48.003Z","repository":{"id":102257748,"uuid":"94299296","full_name":"mkdika/djangoexample","owner":"mkdika","description":"Django Learning Example and Sample Project","archived":false,"fork":false,"pushed_at":"2018-12-17T08:13:23.000Z","size":515,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T08:27:34.553Z","etag":null,"topics":["django","mvc-framework","website"],"latest_commit_sha":null,"homepage":null,"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/mkdika.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":"2017-06-14T06:51:32.000Z","updated_at":"2024-01-04T22:09:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"debc2282-1dd0-4caf-9f74-c6a629710dc8","html_url":"https://github.com/mkdika/djangoexample","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mkdika/djangoexample","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkdika%2Fdjangoexample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkdika%2Fdjangoexample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkdika%2Fdjangoexample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkdika%2Fdjangoexample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mkdika","download_url":"https://codeload.github.com/mkdika/djangoexample/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mkdika%2Fdjangoexample/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266662926,"owners_count":23964643,"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","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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","mvc-framework","website"],"created_at":"2024-12-04T06:11:02.820Z","updated_at":"2026-05-18T06:14:42.971Z","avatar_url":"https://github.com/mkdika.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Django](https://www.djangoproject.com/) Project Example\n\n![Imgur](http://i.imgur.com/f1wjEMX.jpg)\n\n## Last Update\n\n- __13 Aug 2018__, migrate to Django 2.1, adjust some code, add some `README` content.\n\n## Target :\n\n* Setup Project \u0026 Apps\n* Model with all common used data type\n* Web form CRUD single table\n* User Authenticaton\n* Model association \u0026 One-to-Many Web form CRUD\n* Login, Logout, Remember Password, Session.\n\n## 0. Setup Python Virtual Environment\n\n* With Anaconda Distribution\n\n  ```console\n    # Example: conda create --name \u003cve-name\u003e \u003cpackage\u003e\n    conda create --name mydjango django\n  \n    # to activate virtual environment\n    source activate mydjango\n  \n    # to deactivate virtual environment\n    source deactivate mydjango\n  \n    # to remove virtual environment\n    conda remove -n mydjango -all\n\n    # to list all available virtual environment\n    conda info --envs\n  ```\n\n* With Python Virtual Env\n\n    - Create virtual environment, execute:\n\n    ```console\n    mkvirtualenv \u003cenv-name\u003e\n    ```\n\n    Example:\n\n    ```console\n    mkvirtualenv djangoEnv\n    ```\n\n    - activate virtual environment:\n\n    ```console\n    workon djangoEnv\n    ```\n\n    - deactivate virtual environment:\n\n    ```console\n    deactivate\n    ```\n\n    - references:\n\n    [Python Virtual Environment](http://python-guide-pt-br.readthedocs.io/en/latest/dev/virtualenvs/)\n\n* Listing all current Virtual Env Library \u0026 Version\n\n    ```console\n    pip freeze --local\n    ```\n\n    or\n\n    ```console\n    pip list\n    ```\n\n### 1. Install and Create Django Project\n\n* Install django through pip, execute cmd: `pip install Django`\n* Check installed django version, execute cmd: `python -m django --version`\n* Creating a new project, execute cmd: `django-admin startproject \u003cproject-name\u003e`\n* Creating a new apps, execute cmd: `python manage.py startapp \u003capp-name\u003e`\n* To run server, execute cmd: `python manage.py runserver`\n* Run server with custom port, execute cmd: `python manage.py runserver 9696`\n* Run django command shell, execute cmd: `python manage.py shell`\n\n### 2. Project Setup\n\n* Open file `\u003cproject-name\u003e/settings.py`\n* Search for `DATABASE` pythons dictionary variable.\n* Default `ENGINE`is SQLite: `django.db.backends.sqlite3`\n* Another options for `ENGINE`:\n\t* PostgreSQL: `django.db.backends.postgresql`\n\t* MySQL/MariaDB: `django.db.backends.mysql`\n\t* OracleDB: `django.db.backends.oracle`\n\t* [MS SQL Server](https://django-mssql.readthedocs.io/en/latest/settings.html#databases)\n\t* [Firebird](https://github.com/maxirobaina/django-firebird)\n* For another db engine than SQLite, there're other variable, [for example:](https://docs.djangoproject.com/en/1.11/ref/settings/#std:setting-DATABASES)\n\t```python\n\tDATABASES = {\n         'default': {\n         'ENGINE': 'django.db.backends.postgresql',\n         'NAME': 'mydatabase',\n         'USER': 'mydatabaseuser',\n         'PASSWORD': 'mypassword',\n         'HOST': '127.0.0.1',\n         'PORT': '5432',\n         }\n    }\n    ```\n* To make a new migration of changes, execute cmd: `python manage.py makemigrations`    \n* To make a new migration by certain apps, execute cmd: `python manage.py makemigrations \u003capps-name\u003e`\n* To check out the underlying SQL of migrations, execute cmd: `python manage.py sqlmigrate \u003capps-name\u003e \u003cversion\u003e`\n* To apply database changes, execute cmd: `python manage.py migrate`\t\n* Time zone setup, look for `TIME_ZONE` variable, list of **TZ** available [Here](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).\n    ```python\n      TIME_ZONE = 'Asia/Jakarta'\n    ```\n\n### 3. Admin Page\n\n * Create an admin account, execute cmd: `python manage.py createsuperuser`\n\n### 4. Model Fields\n\n* Common used MySQL database field to Django data type:\n\n| MySQL Field| Django Model Field | Parameters |\n|---|---|---|\n| `VARCHAR` | `CharField` | max_length, unique, null, blank, default, primary_key |\n| `VARCHAR` | `EmailField` | null, blank, default |\n| `VARHCAR` | `URLField` | null, blank, default |\n| `LONGTEXT` | `TextField` | null, blank, default |\n| `INT` | `IntegerField` | null, default |\n| `DECIMAL` | `DecimalField` | null, default |\n| `TINYINT` / `BOOLEAN` | `BooleanField` | null, default |\n| `DATE` | `DateField` | null, default |\n| `TIME` | `TimeField` | null, default |\n| `DATETIME` | `DateTimeField` | null, default |\n| `LONGBLOB` | `BinaryField` | null, default |\n\n* Django Models database association data type:\n    * `ForeignKey` , a field type that allows us to create a **one-to-many** relationship.\n    * `OneToOneField` , a field type that allows us to define a strict **one-to-one** relationship.\n    * `ManyToManyField` , a field type which allows us to define a **many-to-many** relationship.\n* __References__:\n    * [Database Model Fields Reference](https://docs.djangoproject.com/en/1.11/ref/models/fields/)\n    * [Database Model Meta Options Reference](https://docs.djangoproject.com/en/1.11/ref/models/options/)\n\n### 5. Making Model Queries\n\n* Some queries example:\n    * Select all data from model objects\n    ```python\n      Person.objects.all() \n    ```\n    * Select with criteria filter \u0026 order DESC\n    ```python\n      Person.objects.filter(id=23).order_by('-first_name')\n    ``` \n* __References__:\n    * [Making Queries](https://docs.djangoproject.com/en/1.11/topics/db/queries/)\n    * [Performing raw SQL queries](https://docs.djangoproject.com/en/1.11/topics/db/sql/)\n\n### 6. Forms Validator\n\n* __References__:\n    * [Form and field validation](https://docs.djangoproject.com/en/1.11/ref/forms/validation/)\n    * [Form Validators](https://docs.djangoproject.com/en/1.11/ref/validators/)\n\n### 7. View\n\n* __References__:\n    * [Class-based Views](https://docs.djangoproject.com/en/1.10/topics/class-based-views/)\n\n### 8. Other Library and Addons\n\n* Command to install addons\n    ```console\n    # Python Mysql\n    pip install mysqlclient\n      \n    # Python PostgreSQL\n    pip install psycopg2\n      \n    # Django-Bootstrap-Form\n    pip install django-bootstrap-form\n     \n    # Django Jinja\n    pip install django-jinja\n     \n    # Pillow Lib (Image manipulation library for Python)\n    pip install pillow\n     \n    # Bcrypt (Secure Password Hasher)\n    pip install bcrypt \n    ```\n            \n### 9. Django Best Practice, Standard \u0026 Convention\n\nFor Django best practice guide and reference, pleas view this [page](djangobestpractice/readme.md).\n\n### Other References\n\n* [Writing your first Django app, part 1](https://docs.djangoproject.com/en/1.11/intro/tutorial01/)\n* [Using a 3rd-party database backend](https://docs.djangoproject.com/en/1.11/ref/databases/#using-a-3rd-party-database-backend)\n* [Django-Bootstrap-Form Lib 1](https://django-bootstrap-form.readthedocs.io/en/latest/)\n* [Django-Bootstrap-Form Lib 2](https://github.com/tzangms/django-bootstrap-form)\n* [Add User Profile To Django Admin](https://simpleisbetterthancomplex.com/tutorial/2016/11/23/how-to-add-user-profile-to-django-admin.html)\n* [5 ways to make Django Admin safer](https://hackernoon.com/5-ways-to-make-django-admin-safer-eb7753698ac8)\n* [Awsome Django Lib \u0026 Template](http://awesome-django.com/)\n* [PostgreSQL specific model fields](https://docs.djangoproject.com/en/1.11/ref/contrib/postgres/fields/)\n\n### Python Tutorial\n\n_Coming soon..._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkdika%2Fdjangoexample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmkdika%2Fdjangoexample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkdika%2Fdjangoexample/lists"}