{"id":1527,"date":"2021-07-31T12:01:06","date_gmt":"2021-07-31T03:01:06","guid":{"rendered":"http:\/\/www.agile-software.site\/?p=1527"},"modified":"2021-09-05T14:53:43","modified_gmt":"2021-09-05T05:53:43","slug":"youtubedjango-restframework","status":"publish","type":"post","link":"https:\/\/agile-software.net\/?p=1527","title":{"rendered":"Django RestFramework[Youtube]"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u4eee\u60f3\u74b0\u5883\u69cb\u7bc9<\/h2>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>python3 -m venv myvenv<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">requirements.txt<\/h2>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>Django~=3.1.4\ndjangorestframework~=3.11.0\ndjangorestframework-simplejwt==4.1.2\ndjoser\npillow\ndjango-cors-headers<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\"> requirements.txt \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>pip3 install -r requirements.txt<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u4f5c\u6210<\/h2>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>django-admin startproject youtube_api<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u4f5c\u6210<\/h2>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>django-admin startapp app<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Web\u30b5\u30fc\u30d0\u30fc\u8d77\u52d5<\/h2>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>python3 manage.py runserver<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">settings<\/h2>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>import os\nfrom datetime import timedelta<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">INSTALLED_APPS\u306b\u8ffd\u8a18<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>    &#39;rest_framework&#39;,\n    &#39;api.apps.ApiConfig&#39;,\n    &#39;corsheaders&#39;,\n    &#39;djoser&#39;,<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">MIDDLEWARE\u306b\u8ffd\u8a18<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>&#39;corsheaders.middleware.CorsMiddleware&#39;,<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">MIDDLEWARE\u306b\u8ffd\u8a18<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>CORS_ORIGIN_WHITELIST = [\n    &quot;http:\/\/localhost:3000&quot;\n]<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">MIDDLEWARE\u306b\u8ffd\u8a18<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>REST_FRAMEWORK = {\n    &#39;DEFAULT_PERMISSION_CLASSES&#39;: [\n        &#39;rest_framework.permissions.IsAuthenticated&#39;,\n    ],\n    &#39;DEFAULT_AUTHENTICATION_CLASSES&#39;: [\n        &#39;rest_framework_simplejwt.authentication.JWTAuthentication&#39;,\n    ],\n}<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">MIDDLEWARE\u306b\u8ffd\u8a18<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>SIMPLE_JWT = {\n    &#39;AUTH_HEADER_TYPES&#39;: (&#39;JWT&#39;,),\n    &#39;ACCESS_TOKEN_LIFETIME&#39;: timedelta(minutes=30),\n}<\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">MIDDLEWARE\u306b\u8ffd\u8a18<\/h3>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-plain\"><code>MEDIA_ROOT = os.path.join(BASE_DIR, &#39;media&#39;)\nMEDIA_URL = &#39;\/media\/&#39;<\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u4eee\u60f3\u74b0\u5883\u69cb\u7bc9 requirements.txt requirements.txt \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u4f5c\u6210 \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u4f5c\u6210 Web\u30b5\u30fc\u30d0\u30fc\u8d77\u52d5 settings INSTALLED_APPS\u306b\u8ffd\u8a18 MIDD<\/p>\n","protected":false},"author":1,"featured_media":1558,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jin_ogp_image_url":"","_jin_last_featured_id":0,"footnotes":""},"categories":[39],"tags":[],"class_list":["post-1527","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-django-rest-framework"],"_links":{"self":[{"href":"https:\/\/agile-software.net\/index.php?rest_route=\/wp\/v2\/posts\/1527","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/agile-software.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/agile-software.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/agile-software.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/agile-software.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1527"}],"version-history":[{"count":2,"href":"https:\/\/agile-software.net\/index.php?rest_route=\/wp\/v2\/posts\/1527\/revisions"}],"predecessor-version":[{"id":1717,"href":"https:\/\/agile-software.net\/index.php?rest_route=\/wp\/v2\/posts\/1527\/revisions\/1717"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/agile-software.net\/index.php?rest_route=\/wp\/v2\/media\/1558"}],"wp:attachment":[{"href":"https:\/\/agile-software.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1527"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/agile-software.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1527"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/agile-software.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1527"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}