{"id":24317184,"url":"https://github.com/ot-nemoto/django-tutorial","last_synced_at":"2026-05-19T14:34:23.607Z","repository":{"id":243053751,"uuid":"811250380","full_name":"ot-nemoto/django-tutorial","owner":"ot-nemoto","description":"Getting started with Django","archived":false,"fork":false,"pushed_at":"2024-06-24T08:27:02.000Z","size":597,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-17T13:35:14.914Z","etag":null,"topics":["django","tutorial","workshow"],"latest_commit_sha":null,"homepage":"https://docs.djangoproject.com/ja/5.0/contents/","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/ot-nemoto.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":"2024-06-06T08:28:21.000Z","updated_at":"2024-06-25T07:46:45.000Z","dependencies_parsed_at":"2024-06-24T03:22:33.087Z","dependency_job_id":"4a44b90e-076f-4af2-bf3f-ded4623b868a","html_url":"https://github.com/ot-nemoto/django-tutorial","commit_stats":null,"previous_names":["ot-nemoto/django-tutorial"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ot-nemoto%2Fdjango-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ot-nemoto%2Fdjango-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ot-nemoto%2Fdjango-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ot-nemoto%2Fdjango-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ot-nemoto","download_url":"https://codeload.github.com/ot-nemoto/django-tutorial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242887332,"owners_count":20201762,"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":["django","tutorial","workshow"],"created_at":"2025-01-17T13:32:45.195Z","updated_at":"2026-05-19T14:34:23.561Z","avatar_url":"https://github.com/ot-nemoto.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# django-tutorial\n\n- [Django ドキュメント](https://docs.djangoproject.com/ja/5.0/contents/) のチュートリアルログ\n\n### Writing your first Django app, part 1\n\n```sh\npython manage.py runserver\n```\n\n_http://127.0.0.1:8000/polls/_\n\n### Writing your first Django app, part 2\n\n```sh\npython manage.py migrate\n  # Operations to perform:\n  #   Apply all migrations: admin, auth, contenttypes, sessions\n  # Running migrations:\n  #   Applying contenttypes.0001_initial... OK\n  #   Applying auth.0001_initial... OK\n  #   Applying admin.0001_initial... OK\n  #   Applying admin.0002_logentry_remove_auto_add... OK\n  #   Applying admin.0003_logentry_add_action_flag_choices... OK\n  #   Applying contenttypes.0002_remove_content_type_name... OK\n  #   Applying auth.0002_alter_permission_name_max_length... OK\n  #   Applying auth.0003_alter_user_email_max_length... OK\n  #   Applying auth.0004_alter_user_username_opts... OK\n  #   Applying auth.0005_alter_user_last_login_null... OK\n  #   Applying auth.0006_require_contenttypes_0002... OK\n  #   Applying auth.0007_alter_validators_add_error_messages... OK\n  #   Applying auth.0008_alter_user_username_max_length... OK\n  #   Applying auth.0009_alter_user_last_name_max_length... OK\n  #   Applying auth.0010_alter_group_name_max_length... OK\n  #   Applying auth.0011_update_proxy_permissions... OK\n  #   Applying auth.0012_alter_user_first_name_max_length... OK\n  #   Applying sessions.0001_initial... OK\n```\n\nマイグレーションファイルの作成\n\n```sh\npython manage.py makemigrations polls\n  # Migrations for 'polls':\n  #   polls/migrations/0001_initial.py\n  #     - Create model Question\n  #     - Create model Choice\n```\n\nマイグレーション SQL の確認\n\n```sh\npython manage.py sqlmigrate polls 0001\n  # --\n  # -- Create model Question\n  # --\n  # CREATE TABLE `polls_question` (`id` bigint AUTO_INCREMENT NOT NULL PRIMARY KEY, `question_text` varchar(200) NOT NULL, `pub_date` datetime(6) NOT NULL);\n  # --\n  # -- Create model Choice\n  # --\n  # CREATE TABLE `polls_choice` (`id` bigint AUTO_INCREMENT NOT NULL PRIMARY KEY, `choice_text` varchar(200) NOT NULL, `votes` integer NOT NULL, `question_id` bigint NOT NULL);\n  # ALTER TABLE `polls_choice` ADD CONSTRAINT `polls_choice_question_id_c5b4b260_fk_polls_question_id` FOREIGN KEY (`question_id`) REFERENCES `polls_question` (`id`);\n```\n\nプロジェクトに問題がないかを確認\n\n```sh\npython manage.py check\n  # System check identified no issues (0 silenced).\n```\n\nマイグレートを実行\n\n```sh\npython manage.py migrate\n  # Operations to perform:\n  #   Apply all migrations: admin, auth, contenttypes, polls, sessions\n  # Running migrations:\n  #   Applying polls.0001_initial... OK\n```\n\nインタラクティブ起動\n\n```sh\npython manage.py shell\n```\n\n管理ユーザー作成\n\n```sh\npython manage.py createsuperuser\n  # Username (leave blank to use 'vscode'):\n  # Email address:\n  # Password:\n  # Password (again):\n  # Superuser created successfully.\n```\n\n_http://127.0.0.1:8000/admin/_\n\n### Writing your first Django app, part 5\n\nテスト実行\n\n```sh\npython manage.py test polls\n```\n\nカバレッジ取得\n\n```sh\ncoverage run --source='.' manage.py test polls\n\n# Report\ncoverage report\n  # Name                               Stmts   Miss  Cover\n  # ------------------------------------------------------\n  # manage.py                             11      2    82%\n  # mysite/__init__.py                     0      0   100%\n  # mysite/asgi.py                         4      4     0%\n  # mysite/settings.py                    18      0   100%\n  # mysite/urls.py                         3      0   100%\n  # mysite/wsgi.py                         4      4     0%\n  # polls/__init__.py                      0      0   100%\n  # polls/admin.py                         3      0   100%\n  # polls/apps.py                          4      0   100%\n  # polls/migrations/0001_initial.py       6      0   100%\n  # polls/migrations/__init__.py           0      0   100%\n  # polls/models.py                       17      2    88%\n  # polls/tests.py                        57      0   100%\n  # polls/urls.py                          4      0   100%\n  # polls/views.py                        29      8    72%\n  # ------------------------------------------------------\n  # TOTAL                                160     20    88%\n\n# HTML report\ncoverage html\n  # Wrote HTML report to htmlcov/index.html\n```\n\n### Writing your first Django app, part 8\n\n**django-debug-toolbar**\n\n_mysite/settings.py_\n\n```python\nINSTALLED_APPS = [\n    ...\n    'debug_toolbar',\n]\n\nMIDDLEWARE = [\n    ...\n    'debug_toolbar.middleware.DebugToolbarMiddleware',\n]\n\nINTERNAL_IPS = [\n    '127.0.0.1',\n]\n```\n\n_mysite/urls.py_\n\n```python\nfrom django.urls import path, include\n\nurlpatterns = [\n    ...\n    path('__debug__/', include('debug_toolbar.urls')),\n]\n```\n\n### 高度なチュートリアル: 再利用可能アプリの書き方\n\nパッケージをビルド\n\n```sh\ncd django-polls\npython setup.py sdist\n```\n\nパッケージをインストール\n\n```sh\npython -m pip install --user django-polls/dist/django-polls-0.1.tar.gz\n```\n\n_mysite/settings.py_\n\n```python\nINSTALLED_APPS = [\n    \"django_polls.apps.PollsConfig\",\n    ...,\n]\n```\n\n_mysite/urls.py_\n\n```python\nurlpatterns = [\n    path(\"polls/\", include(\"django_polls.urls\")),\n    ...,\n]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fot-nemoto%2Fdjango-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fot-nemoto%2Fdjango-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fot-nemoto%2Fdjango-tutorial/lists"}