{"id":720,"date":"2022-01-19T18:00:00","date_gmt":"2022-01-19T09:00:00","guid":{"rendered":"https:\/\/www.sea2800.com\/?p=720"},"modified":"2022-03-12T22:39:00","modified_gmt":"2022-03-12T13:39:00","slug":"django%e3%81%a7%e6%b5%81%e8%a1%8c%e3%81%ae%e3%82%a6%e3%82%a7%e3%83%96%e3%82%b5%e3%82%a4%e3%83%88%e3%82%92%e8%87%aa%e4%bd%9c%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/www.sea2800.com\/?p=720","title":{"rendered":"Django\u3067\u6d41\u884c\u306e\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u3092\u81ea\u4f5c\u3059\u308b"},"content":{"rendered":"\n<p id=\"fd0Gz\">\u4eca\u6642\u3001Youtube\u3084Instagram\u30ec\u30d9\u30eb\u306e\u30af\u30aa\u30ea\u30c6\u30a3\u3092<strong>\u500b\u4eba\u3067\u4f5c\u308c\u3066\u5f53\u305f\u308a\u524d<\/strong>\u306a\u6642\u4ee3\u306a\u4e2d\u3069\u3046\u3084\u3063\u3066\u30a6\u30a7\u30d6\u30b5\u30a4\u30c8\u3092\u4f5c\u3089\u308c\u3066\u3044\u308b\u306e\u304b\u7591\u554f\u306b\u601d\u3063\u305f\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u304b\uff1f\u305d\u3053\u3067\u5b9f\u969bInstagram\u3084Youtube\u3067\u3082\u4f7f\u308f\u308c\u305f\u3068\u3055\u308c\u308bDjango\u3092\u5229\u7528\u3057\u3066\u7c21\u6613\u7684\u306aSNS\u3092\u5236\u4f5c\u3059\u308b\u65b9\u6cd5\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002\u52d5\u753b\u6295\u7a3f\u30b5\u30a4\u30c8\u306e\u5236\u4f5c\u30b9\u30ad\u30eb\u3092\u3082\u3068\u306b\u4f5c\u3089\u308c\u3066\u3044\u307e\u3059\u3002\u3053\u308c\u3092\u3082\u3068\u306b\u5fdc\u7528\u3059\u308c\u3070Youtube\u3068\u540c\u30ec\u30d9\u30eb\u306e\u30b5\u30fc\u30d3\u30b9\u3092\u5c55\u958b\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u4eca\u56de\u306f\u50d5\u304c\u5fd8\u308c\u306a\u3044\u3088\u3046\u306b\u30e1\u30e2\u3068\u3057\u3066\u6b8b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69fb3d5f4b7c4\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69fb3d5f4b7c4\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.sea2800.com\/?p=720\/#%E4%BD%BF%E7%94%A8%E7%92%B0%E5%A2%83\" >\u4f7f\u7528\u74b0\u5883<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.sea2800.com\/?p=720\/#%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B%E3%82%82%E3%81%AE\" >\u5b9f\u88c5\u3059\u308b\u3082\u306e<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.sea2800.com\/?p=720\/#%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E4%BD%9C%E6%88%90\" >\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4f5c\u6210<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.sea2800.com\/?p=720\/#%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E4%BD%9C%E6%88%90\" >\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u4f5c\u6210<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.sea2800.com\/?p=720\/#UserModel%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA\" >UserModel\u306e\u30ab\u30b9\u30bf\u30de\u30a4\u30ba<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.sea2800.com\/?p=720\/#Login%E3%81%AE%E6%A9%9F%E8%83%BD%E3%81%AE%E8%BF%BD%E5%8A%A0\" >Login\u306e\u6a5f\u80fd\u306e\u8ffd\u52a0<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.sea2800.com\/?p=720\/#Login%E7%94%A8%E3%81%AE%E5%85%A5%E5%8A%9B%E9%A0%85%E7%9B%AE%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B\" >Login\u7528\u306e\u5165\u529b\u9805\u76ee\u3092\u4f5c\u6210\u3059\u308b<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.sea2800.com\/?p=720\/#Login%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%A8Logout%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E6%89%80%E5%9C%A8%E3%82%92viewspy%E3%81%AB%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%80\" >Login\u30da\u30fc\u30b8\u3068Logout\u30da\u30fc\u30b8\u306e\u6240\u5728\u3092views.py\u306b\u66f8\u304d\u8fbc\u3080<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.sea2800.com\/?p=720\/#Login%E3%83%9A%E3%83%BC%E3%82%B8%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B\" >Login\u30da\u30fc\u30b8\u3092\u4f5c\u6210\u3059\u308b<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.sea2800.com\/?p=720\/#%E5%85%A8%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AB%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E8%A1%A8%E7%A4%BA%E3%81%A8css%E3%82%84javascript%E3%82%92%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80%E5%A0%B4%E6%89%80%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B\" >\u5168\u30da\u30fc\u30b8\u306b\u30e1\u30cb\u30e5\u30fc\u30d0\u30fc\u306e\u8868\u793a\u3068css\u3084javascript\u3092\u8aad\u307f\u8fbc\u3080\u5834\u6240\u3092\u4f5c\u6210\u3059\u308b<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.sea2800.com\/?p=720\/#Top%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E4%BD%9C%E6%88%90\" >Top\u30da\u30fc\u30b8\u306e\u4f5c\u6210<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.sea2800.com\/?p=720\/#Login%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E4%BD%9C%E6%88%90\" >Login\u30da\u30fc\u30b8\u306e\u4f5c\u6210<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.sea2800.com\/?p=720\/#Application%E3%82%92%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AB%E8%AA%8D%E7%9F%A5%E3%81%97%E3%81%A6%E3%82%82%E3%82%89%E3%81%86\" >Application\u3092\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u8a8d\u77e5\u3057\u3066\u3082\u3089\u3046<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.sea2800.com\/?p=720\/#%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B\" >\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210\u3059\u308b<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.sea2800.com\/?p=720\/#%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%92%E7%99%BB%E9%8C%B2%E3%81%99%E3%82%8B\" >\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u767b\u9332\u3059\u308b<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.sea2800.com\/?p=720\/#%E6%9C%80%E5%BE%8C%E3%81%AB\" >\u6700\u5f8c\u306b<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E4%BD%BF%E7%94%A8%E7%92%B0%E5%A2%83\"><\/span>\u4f7f\u7528\u74b0\u5883<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"08c50cee-12e7-4027-bee9-c9a4b4f183ff\">\u4eca\u56de\u4f7f\u3046\u74b0\u5883\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Django ==3.2<\/li><li>python ==3.7.3<\/li><li>Visual Studio Code<\/li><\/ul>\n\n\n\n<p id=\"84215ebe-7535-4592-8859-9e386853fdff\">\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306fsqlite3\u3067\u306f\u3042\u308a\u307e\u3059\u304c\u3001\u3053\u306e\u30b5\u30a4\u30c8\u306e\u9aa8\u7d44\u307f\u3092\u5229\u7528\u3057\u3066\u5b9f\u969b\u306b\u30b5\u30fc\u30d3\u30b9\u3068\u3057\u3066\u516c\u958b\u3057\u3066\u3044\u304f\u5834\u5408\u306fsqlite\uff13\u306fDjango\u516c\u5f0f\u304c\u975e\u63a8\u5968\u3057\u3066\u3044\u307e\u3059\u3002\u305d\u306e\u305f\u3081<strong>mysql\u3084PostgreSQL<\/strong>\u3092\u63a1\u7528\u3059\u308b\u3053\u3068\u3092\u30aa\u30b9\u30b9\u30e1\u3057\u307e\u3059\u3002django3.2\u3067\u306fdjango2.2\u3068\u9055\u3044\u30e2\u30b8\u30e5\u30fc\u30ebsix\u304c\u53cd\u5fdc\u3057\u306a\u304b\u3063\u305f\u308a\u3001staticfile\u306e\u6307\u5b9a\u306e\u4ed5\u65b9\u304c\u7570\u306a\u3063\u3066\u3044\u308b\u306e\u3067\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<p id=\"996eec35-3475-41ec-a1dd-9bbc23d66295\">six\u304c\u53cd\u5fdc\u3057\u306a\u3044\u306e\u306f\u3001django\u304c3.0\u306b\u3059\u308b\u969b\u300c\u4eca\u6642python2 \u4f7f\u3046\u4eba\u306a\u3093\u3066\u3044\u306a\u3044\u3057python\u516c\u5f0f\u3082python\uff13\u306b\u3057\u308d\u3068\u304b\u8a00\u3063\u3066\u3044\u308b\u304b\u3089\uff12\u30683\u3092\u7e4b\u3052\u308bmodule six\u306f\u3044\u3089\u306a\u3044\u3088\u306d\uff1f\u300d\u3068\u8a00\u3063\u305f\u611f\u3058\u3067django\u304b\u3089\u6d88\u3055\u308c\u305f\u307f\u305f\u3044\u3067\u3059\u3002\u3082\u3063\u3068\u3082module six \u304c\u5fc5\u8981\u306a\u5834\u9762\u306fSNS\u30ed\u30b0\u30a4\u30f3\u3092\u5b9f\u88c5\u3059\u308b\u3068\u304d\u306b\u8d77\u304d\u308b\u3050\u3089\u3044\u306a\u306e\u3067\u3001\u3042\u307e\u308a\u906d\u9047\u3059\u308b\u3068\u306f\u601d\u3044\u307e\u305b\u3093\u304c&#8230;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B%E3%82%82%E3%81%AE\"><\/span>\u5b9f\u88c5\u3059\u308b\u3082\u306e<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"256e2b08-f2ac-4c9e-83c9-05d43cc89422\">SNS\u3092\u4f5c\u308b\u306b\u3057\u3066\u3082\u30b5\u30fc\u30d3\u30b9\u306f\u4f55\u3092\u3069\u3046\u3086\u3046\u98a8\u306b\u4f5c\u3063\u3066\u3044\u304f\u306e\u304b\u3092\u8003\u3048\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<br>\u4eca\u56de\u306f\u975e\u5e38\u306b\u30b7\u30f3\u30d7\u30eb\u306a\u3082\u306e\u3068\u3057\u3066\u6587\u5b57\u3060\u3051\u3092\u5165\u529b\u3057\u3066\u753b\u50cf\u3092\u4e00\u679a\u307e\u3067\u6295\u7a3f\u3067\u304d\u308b\u6a5f\u80fd\u306b\u3057\u307e\u3057\u3087\u3046\u3002\u30ea\u30b9\u30c8\u3068\u3057\u3066\u306f\u3053\u3093\u306a\u611f\u3058\u3067\u3059\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\u30e6\u30fc\u30b6\u30fc\u4f5c\u6210\u6a5f\u80fd<\/li><li>\u30ed\u30b0\u30a4\u30f3\u6a5f\u80fd<\/li><li>\u30e6\u30fc\u30b6\u30fc\u4f5c\u6210\u306b\u3066\u884c\u3046\u30e1\u30fc\u30eb\u9001\u4fe1\u6a5f\u80fd<\/li><li>\u6295\u7a3f\u6a5f\u80fd<\/li><\/ul>\n\n\n\n<p id=\"56f8362a-44ed-4b5b-ac2f-747c0e80ae00\">\u306e\uff14\u3064\u306e\u6a5f\u80fd\u3092\u5b9f\u88c5\u3057\u307e\u3057\u3087\u3046\u3001\u3053\u308c\u3092\u6291\u3048\u308c\u3070Instagram\u3084Twiiter\u306a\u3069\u306eSNS\u3084\u679c\u3066\u306fYoutube\u3068\u540c\u7b49\u30ec\u30d9\u30eb\u306e\u3082\u306e\u304c\u4f5c\u308c\u307e\u3059\u3002\u3053\u306e\u8a18\u4e8b\u3067\u306f\u30e6\u30fc\u30b6\u30fc\u4f5c\u6210\u307e\u3067\u3092\u884c\u3044\u307e\u3059\u3002<br>\u3067\u306f\u5b9f\u88c5\u3057\u3066\u304d\u307e\u3057\u3087\u3046<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AE%E4%BD%9C%E6%88%90\"><\/span>\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306e\u4f5c\u6210<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"6f41036a-4eae-4916-9d1e-0e3944e3347c\">\u307e\u305a\u597d\u304d\u306a\u3068\u3053\u308d\u306bVisual Studio Code\u3067\u958b\u304d\u307e\u3059\u3002\u305d\u306e\u6b21\u306b\u30e1\u30cb\u30e5\u30fc\u30d0\u30fc\u306e\u30bf\u30fc\u30df\u30ca\u30eb\u304b\u3089New Terminal \u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u697d\u306b\u30b3\u30de\u30f3\u30c9\u5165\u529b\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uff04 django-admin startproject \u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u540d<\/code><\/pre>\n\n\n\n<p id=\"e5bd53fa-4539-4b55-a4e3-6dadb47e5028\">\u5165\u529b\u304c\u5b8c\u4e86\u3059\u308b\u3068\u4ee5\u4e0b\u306e\u753b\u50cf\u306e\u3088\u3046\u306b\u30d5\u30a9\u30eb\u30c0\u3068\u5fc5\u8981\u306a\u30d5\u30a1\u30a4\u30eb\u304c\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/assets.st-note.com\/img\/1642304218564-QIANbdTSLS.png\"><img decoding=\"async\" src=\"https:\/\/assets.st-note.com\/img\/1642304218564-QIANbdTSLS.png\" alt=\"\u753b\u50cf\u3092\u62e1\u5927\u8868\u793a\"\/><\/a><\/figure>\n\n\n\n<p id=\"090df3d6-e31d-4360-88e6-03aa535b8792\">\u3053\u308c\u3060\u3051\u3067\u3082\u30b5\u30a4\u30c8\u306e\u78ba\u8a8d\u304c\u53ef\u80fd\u3067\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5165\u529b\u3059\u308b\u3053\u3068\u3067\u5b9f\u969b\u306b\u4eee\u60f3\u74b0\u5883\u3067\u8868\u793a\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uff04python manage.py&nbsp;runserver<\/code><\/pre>\n\n\n\n<p id=\"1d8858ea-2dba-4724-b9af-d0291dd8baa0\">\u3053\u308c\u3092\u5165\u529b\u3059\u308b\u3068\u4ee5\u4e0b\u306e\u8fd4\u4e8b\u304c\u8fd4\u3063\u3066\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.\nRun 'python manage.py migrate' to apply them.\nJanuary 16, 2022 - 03:41:37\nDjango version 3.2.11, using settings 'blog.settings'\nStarting development server at http:\/\/127.0.0.1:8000\/\nQuit the server with CONTROL-C.<\/code><\/pre>\n\n\n\n<p id=\"8becbe02-94ff-4f09-9cf1-70adcfeaa045\">\u7279\u306b\u300cYou have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.\u300d\u306f\u8d64\u6587\u5b57\u3067\u8fd4\u3063\u3066\u304d\u3066\u3073\u3063\u304f\u308a\u3059\u308b\u3068\u601d\u3044\u307e\u3059\u304c\u3001\u3053\u308c\u306f\u300c\u307e\u3060\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u767b\u9332\u3057\u3066\u306a\u3044\u3088\u5927\u4e08\u592b\uff1f\u300d\u3068\u3044\u3046\u78ba\u8a8d\u3067\u3059\u3002\u305d\u306e\u305f\u3081\u7121\u8996\u3057\u3066\u3082\u554f\u984c\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Starting development server at http:<em>\/\/127.0.0.1:8000\/<\/em><\/code><\/pre>\n\n\n\n<p id=\"62ec5feb-f0e3-42dc-bad2-87bd3205288a\">\u306e\u3068\u3053\u308d\u306e\u300chttp:\/\/127.0.0.1:8000\/\u300d\u3092\u30b3\u30d4\u30fc\uff06\u30da\u30fc\u30b9\u30c8\u3082\u3057\u304f\u306fMac\u3060\u3068\u2318\u62bc\u3057\u306a\u304c\u3089\u30af\u30ea\u30c3\u30af\u3092\u62bc\u3059\u3068\u4ee5\u4e0b\u306e\u30b5\u30a4\u30c8\u304c\u51fa\u3066\u304f\u308b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/assets.st-note.com\/img\/1642305396180-2Ny9KS88Wh.png\"><img decoding=\"async\" src=\"https:\/\/assets.st-note.com\/img\/1642305396180-2Ny9KS88Wh.png?width=800\" alt=\"\u753b\u50cf\u3092\u62e1\u5927\u8868\u793a\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E4%BD%9C%E6%88%90\"><\/span>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u4f5c\u6210<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"88e65811-fad5-4d1b-abd0-c44f9cb614ee\">\u30bf\u30fc\u30df\u30ca\u30eb\u304b\u3089\u4e0b\u8a18\u306e\u30b3\u30de\u30f3\u30c9\u5165\u529b\u3059\u308b\u3060\u3051\u3067\u7c21\u5358\u306b\u3067\u304d\u307e\u3059\u3002\u3053\u306e\u30e9\u30a4\u30f3\u3088\u308a\u4e0a\u306e\u30a8\u30ea\u30a2\u304c\u7121\u6599\u3067\u8868\u793a\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\uff04\u3000django-admin startapp \u30a2\u30d7\u30ea\u540d<\/code><\/pre>\n\n\n\n<p id=\"e4626be9-5c06-4687-8b99-7ccef73f6daf\">\u3059\u308b\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30d5\u30a9\u30eb\u30c0\u3068\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/assets.st-note.com\/img\/1642306038872-5h4rFi3WZL.png\"><img decoding=\"async\" src=\"https:\/\/assets.st-note.com\/img\/1642306038872-5h4rFi3WZL.png\" alt=\"\u753b\u50cf\u3092\u62e1\u5927\u8868\u793a\"\/><\/a><\/figure>\n\n\n\n<p id=\"483da795-ca33-4989-8cc7-156c4d7202ff\">\u3053\u3053\u304b\u3089\u306f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u4f5c\u6210\u3057\u3066\u3044\u304f\u4e0a\u3067\u5fc5\u8981\u306a\u3082\u306e\u3092\u5b9f\u88c5\u3059\u308b\u3082\u306e\u3092\u66f8\u3044\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"UserModel%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA\"><\/span>UserModel\u306e\u30ab\u30b9\u30bf\u30de\u30a4\u30ba<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"045ab2da-d38d-41f1-b714-c7efb310a479\">Models.py\u3092\u958b\u3044\u3066\u30e6\u30fc\u30b6\u30fc\u4f5c\u6210\u304a\u3088\u3073\u30ed\u30b0\u30a4\u30f3\u306e\u4ed5\u65b9\u3092\u5909\u66f4\u3055\u305b\u307e\u3059\u3002<br>\u30c7\u30d5\u30a9\u30eb\u30c8\u3060\u3068\u30e6\u30fc\u30b6\u30fc\u540d\uff0b\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u3059\u304c\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u306e\u89b3\u70b9\u304b\u3089\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9 +\u30d1\u30b9\u30ef\u30fc\u30c9\u306b\u5909\u66f4\u3055\u305b\u307e\u3059\u3002<br>\u30b3\u30fc\u30c9\u3068\u3057\u3066\u306f\u4ee5\u4e0b\u306e\u901a\u308a\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rom django.db import models\n\n<em># Create your models here.<\/em>\nfrom django.core.mail import send_mail\nfrom django.contrib.auth.models import PermissionsMixin,UserManager\nfrom django.contrib.auth import get_user_model\nfrom django.contrib.auth.base_user import AbstractBaseUser\nfrom django.utils.translation import ugettext_lazy\nfrom django_countries.fields import CountryField\nfrom django.utils import timezone\nimport random ,string\n<em># Settings User Login<\/em>\nUser = get_user_model\n\n\ndef user_random_url():\n     chars = '0123456789abcdefghijkmnopqrstuvwxzyABCDEFGHIJKLMNOPQRSTUVWXYZ'\n     url = ''.join(random.choice(chars)for i in range(28))\n     return url\n\nGENDER_CHOICES = (\n    ('1', 'Woman'),\n    ('2', 'Man'),\n)\n\nclass CustomUserManager(UserManager):\n    \"\"\"\u30e6\u30fc\u30b6\u30fc\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\"\"\"\n    use_in_migrations = True\n\n    def _create_user(self,  email, password, **extra_fields):\n        if not email:\n            raise ValueError('The given email must be set')\n        email = self.normalize_email(email)\n        user = self.model(email=email, **extra_fields)\n        user.set_password(password)\n        user.save(using=self._db)\n        return user\n\n    def create_user(self, email, password=None, **extra_fields):\n        extra_fields.setdefault('is_staff', False)\n        extra_fields.setdefault('is_superuser', False)\n        return self._create_user(email, password, **extra_fields)\n        \n    def create_superuser(self, email, password, **extra_fields):\n        extra_fields.setdefault('is_staff', True)\n        extra_fields.setdefault('is_superuser', True)\n        if extra_fields.get('is_staff') is not True:\n            raise ValueError('Superuser must have is_staff=True.')\n        if extra_fields.get('is_superuser') is not True:\n            raise ValueError('Superuser must have is_superuser=True.')\n        return self._create_user(email, password, **extra_fields)\n\n\nclass User(AbstractBaseUser, PermissionsMixin):\n    email = models.EmailField(('Email_Adress'),unique=True)\n    name = models.CharField(('Username'),max_length=50,unique=True,)\n    icon = models.ImageField('Icon',upload_to='media\/user\/icon', null=True ,blank=True)\n    profile = models.TextField('Profile',blank=True)\n    birthday =models.DateField('Birthday',null=True,default=timezone.now)\n    create =models.DateField('Create',null=True,default=timezone.now)\n    slug = models.SlugField(unique = True,blank=True,default=random_url)\n    country = CountryField('Where you live')\n    gender = models.CharField(\"Gender\", max_length=2, choices=GENDER_CHOICES, blank=True)\n    creater = models.BooleanField('creater',default=False, help_text='If you publick game movie, colud you check on the checkbox')\n    def get_absolute_url(self):\n        return reversed('user', kwargs={'slug': self.slug})\n    is_staff = models.BooleanField(\n        ('staff status'),\n        default=False,\n        help_text=(\n            'Designates whether the user can log into this admin site.'),\n    )\n    is_active = models.BooleanField(\n        ('active'),\n        default=True,\n        help_text=(\n            'Designates whether this user should be treated as active. '\n            'Unselect this instead of deleting accounts.'\n        ),\n    )\n    date_joined = models.DateTimeField(('date joined'), default=timezone.now)\n\n    objects = CustomUserManager()\n\n    EMAIL_FIELD = 'email'\n    USERNAME_FIELD = 'email'\n    REQUIRED_FIELDS = &#91;]\n\n    class Meta:\n        verbose_name = ('user')\n        verbose_name_plural = ('users')\n\n\n\n    def email_user(self, subject, message, from_email=None, **kwargs):\n        \"\"\"Send an email to this user.\"\"\"\n        send_mail(subject, message, from_email, &#91;self.email], **kwargs)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Login%E3%81%AE%E6%A9%9F%E8%83%BD%E3%81%AE%E8%BF%BD%E5%8A%A0\"><\/span>Login\u306e\u6a5f\u80fd\u306e\u8ffd\u52a0<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"cf1a1406-ad7e-495c-9df2-1432b1f3fe13\">\u30ed\u30b0\u30a4\u30f3\u3092\u884c\u3046\u306b\u3042\u305f\u3063\u3066\u307e\u305asettings.py\u3092\u958b\u304d\u30ed\u30b0\u30a4\u30f3\u753b\u9762\u3092\u3069\u3053\u306b\u8a2d\u5b9a\u3059\u308b\u306e\u304b\u3068\u30ed\u30b0\u30a4\u30f3\u5f8c\u3069\u3053\u306e\u30da\u30fc\u30b8\u306b\u98db\u3076\u306e\u304b\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u5834\u6240\u81ea\u4f53\u306f\u3069\u3053\u3067\u3082\u3044\u3044\u306e\u3067\u3054\u81ea\u8eab\u304c\u308f\u304b\u308a\u3084\u3059\u3044\u3068\u3053\u308d\u3067\u66f8\u3051\u3070\u554f\u984c\u306a\u3044\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>LOGIN_URL='practice:login'\nLOGIN_REDIRECT_URL = 'practice:top'<\/code><\/pre>\n\n\n\n<p id=\"e0beb757-554e-40ab-9dd1-3212f1df89c4\">\u3053\u306e\u307e\u307e\u3084\u3063\u3066\u3082\u300cpractice:login\u300d\u3084\u300cpractice:top\u300d\u306e[practice]\u306a\u3093\u3066\u306a\u3044\u3088\u3068\u8fd4\u3055\u308c\u308b\u306e\u3067\u3001settings.py\u306e\u30d5\u30a9\u30eb\u30c0\u306b\u3042\u308burl.py\u306b[practice]\u3092\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from django.contrib import admin\nfrom django.urls import path,include\n\nurlpatterns = &#91;\n    path('admin\/', admin.site.urls),\n    path('',include('prctice.urls')),\n]<\/code><\/pre>\n\n\n\n<p id=\"bec79611-715b-4457-9e9f-02091234fd5c\">\u3053\u308c\u3067\u6307\u5b9a\u304c\u5b8c\u4e86\u3057\u305f\u306e\u3067\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d5\u30a9\u30eb\u30c0\u306burls.py\u3092\u4f5c\u3063\u3066\u63a5\u7d9a\u3067\u304d\u308b\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from django.contrib import admin\nfrom django.urls import path,include\n\nurlpatterns = &#91;\n    path('admin\/', admin.site.urls),\n    path('',include('practice.urls')),\n]<\/code><\/pre>\n\n\n\n<p id=\"42991ffa-2046-49b3-a47b-054da3fbd640\">views.py\u304c\u3042\u308b\u30d5\u30a9\u30eb\u30c0\u306burls,py\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u308a\u8a18\u8ff0\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from django.urls import path\nfrom . import views\n\napp_name ='practice'\nurlpatterns =&#91;\n    path('',views.Top.as_view(),name='top'),\n    path('login\/',views.Login.as_view(),name='login'),\n    path('logout\/',views.Logout.as_view(),name='logout')\n]<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Login%E7%94%A8%E3%81%AE%E5%85%A5%E5%8A%9B%E9%A0%85%E7%9B%AE%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B\"><\/span>Login\u7528\u306e\u5165\u529b\u9805\u76ee\u3092\u4f5c\u6210\u3059\u308b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"a77b9066-f92f-4280-ad11-90ea1c93dca1\">views.py\u304b\u3089\u5165\u529b\u3059\u308b\u4e8b\u3082\u53ef\u80fd\u3067\u3059\u304c\u3001\u898b\u3084\u3059\u3055\u306e\u305f\u3081forms.py\u3068\u3044\u3046\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u3066\u30b3\u30fc\u30c9\u3092\u66f8\u3044\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from django.contrib.auth.forms import (AuthenticationForm)\n\nclass LoginForm(AuthenticationForm):\n    \n    def __init__(self, *args, **kwargs):\n        super().__init__( *args, **kwargs)\n        for field in self.fields.values():\n            field.widget.attrs&#91;'class'] = 'form-control'\n            field.widget.attrs&#91;'placeholder'] = field.label<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Login%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%A8Logout%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E6%89%80%E5%9C%A8%E3%82%92viewspy%E3%81%AB%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%80\"><\/span>Login\u30da\u30fc\u30b8\u3068Logout\u30da\u30fc\u30b8\u306e\u6240\u5728\u3092views.py\u306b\u66f8\u304d\u8fbc\u3080<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"0775a001-ffd7-4510-9c4c-5c15dd6ae222\">views.py\u3067Login\u30da\u30fc\u30b8\u3068Logout\u30da\u30fc\u30b8\u306ehtml\u304c\u3069\u3053\u306b\u3042\u308b\u306e\u304b\u3092\u4f1d\u3048\u307e\u3059\u3002views.py\u306fmodels.py\u3068\u9023\u643a\u3055\u305b\u3066\u6295\u7a3f\u3057\u305f\u3082\u306e\u306e\u8996\u8074\u56de\u6570\u3084\u30b3\u30e1\u30f3\u30c8\u3092\u8ffd\u52a0\u3055\u305b\u305f\u308a\u304c\u53ef\u80fd\u3067\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from django.contrib.auth.mixins import LoginRequiredMixin\nfrom django.contrib.auth.views import(LoginView,LogoutView) \nfrom django.views import generic\nfrom.forms import LoginForm\n<em># Create your views here.<\/em>\nclass Top(generic.TemplateView):\n    template_name ='page\/top.html'\n\nclass Login(LoginView):\n    form_class = LoginForm\n    template_name ='page\/login.html'\n\nclass Logout(LogoutView):\n    template_name='page\/top.html'<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Login%E3%83%9A%E3%83%BC%E3%82%B8%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B\"><\/span>Login\u30da\u30fc\u30b8\u3092\u4f5c\u6210\u3059\u308b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%85%A8%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AB%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E8%A1%A8%E7%A4%BA%E3%81%A8css%E3%82%84javascript%E3%82%92%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80%E5%A0%B4%E6%89%80%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B\"><\/span>\u5168\u30da\u30fc\u30b8\u306b\u30e1\u30cb\u30e5\u30fc\u30d0\u30fc\u306e\u8868\u793a\u3068css\u3084javascript\u3092\u8aad\u307f\u8fbc\u3080\u5834\u6240\u3092\u4f5c\u6210\u3059\u308b<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p id=\"2c3af231-12f9-44eb-afdb-ef5ded6a2a4a\">\u8868\u793a\u3059\u308b\u5834\u6240\u3092\u6307\u5b9a\u3057\u305f\u306e\u3067\u3042\u3068\u306f\u30da\u30fc\u30b8\u3092\u8868\u793a\u3055\u305b\u307e\u3059\u304c\u3001\u4e00\u3064\u4e00\u3064\u306e\u30da\u30fc\u30b8\u304c\u9055\u3063\u305f\u30c7\u30b6\u30a4\u30f3\u306a\u3089\u307e\u3060\u3057\u3082\u30db\u30fc\u30e0\u30dc\u30bf\u30f3\u306a\u3069\u3001\u3069\u3093\u306a\u30da\u30fc\u30b8\u3067\u3082\u5fc5\u305a\u8868\u793a\u3055\u308c\u308b\u9805\u76ee\u3092\u8a2d\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u305d\u3053\u3067base.html\u3092\u4f5c\u308a\u3001\u4e00\u56de\u9650\u308a\u306b\u7d5e\u308a\u307e\u3059\u3002{% if user.is_authenticated %}\u3092\u4f7f\u7528\u3057\u3066\u3001\u30ed\u30b0\u30a4\u30f3\u6e08\u307f\u306a\u3089\u30ed\u30b0\u30a2\u30a6\u30c8\u7528\u306e\u30ea\u30f3\u30af\u3092\u3001\u305d\u3046\u3067\u306a\u3051\u308c\u3070\u30ed\u30b0\u30a4\u30f3\u7528\u306e\u30ea\u30f3\u30af\u3092\u8868\u793a\u3055\u305b\u3066\u3044\u307e\u3059\u3002templates\u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3057html\u3092\u66f8\u3044\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;!DOCTYPE html&gt;\n&lt;head&gt;\n    &lt;meta charset= \"utf-8\"&gt;\n    &lt;link rel=\"stylesheet\" href=\"https:\/\/stackpath.bootstrapcdn.com\/bootstrap\/4.1.0\/css\/bootstrap.min.css\"\n    integrity=\"sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4\" crossorigin=\"anonymous\"&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;nav class=\"navbar navbar-expand-lg navbar-light \" &gt;\n        &lt;a  class =\"navbar-brand\" href=\"{% url 'practice:top'%}\"&gt;\n       Top\n        &lt;\/a&gt;\n        &lt;div class=\"collapse navbar-collapse\"&gt;\n\n          &lt;\/ul&gt;\n      &lt;\/div&gt;\n        &lt;div class=\"collapse navbar-collapse\" id=\"navbarSupportedContent\"&gt;&lt;\/div&gt;\n        &lt;ul class=\"navbar-nav card col-md-3\"&gt;\n            {% if user.is_authenticated %}\n\n            &lt;li&gt;\n              \n               &lt;li class=\"nav-item dropdown outline-info\"&gt;\n                &lt;a class=\"nav-link dropdown-toggle\" href=\"#\" id=\"navbarDropdown\" role=\"button\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\"&gt;\n                 &lt;H\uff14&gt;{{ user.email}}&lt;\/H\uff14&gt;\n                &lt;\/a&gt;\n                &lt;div class=\"dropdown-menu\" aria-labelledby=\"navbarDropdown\"&gt;\n                  &lt;a class=\"dropdown-item\"href=\"#\"&gt;Mypage&lt;\/a&gt;\n                  &lt;a class=\"dropdown-item\" href=\"{% url 'practice:logout' %}\"&gt;Logout&lt;\/a&gt;\n                &lt;\/div&gt;\n              &lt;\/li&gt;\n\n            &lt;\/li&gt;\n            {% else %}\n            &lt;li class=\"nav-item\"&gt;\n              &lt;a class=\"nav-item btn btn-outline-info\" href=\"{% url 'practice:login' %}\"&gt;\n              Login\n            &lt;\/a&gt;\n            &lt;\/li&gt;\n            {% endif %}\n          &lt;\/ul&gt;\n    \n    &lt;\/nav&gt;\n    &lt;div class=\"position\"&gt;\n        {% block content %}{% endblock %}\n    &lt;\/div&gt;\n    &lt;!-- Optional JavaScript --&gt;\n    &lt;!-- jQuery first, then Popper.js, then Bootstrap JS --&gt;\n    &lt;script src=\"https:\/\/code.jquery.com\/jquery-3.3.1.min.js\" integrity=\"sha256-FgpCb\/KJQlLNfOu91ta32o\/NMZxltwRo8QtmkMRdAu8=\" crossorigin=\"anonymous\"&gt;&lt;\/script&gt;\n    &lt;script src=\"https:\/\/code.jquery.com\/jquery-3.3.1.slim.min.js\"\n            integrity=\"sha384-q8i\/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo\"\n            crossorigin=\"anonymous\"&gt;&lt;\/script&gt;\n    &lt;script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/popper.js\/1.14.0\/umd\/popper.min.js\"\n            integrity=\"sha384-cs\/chFZiN24E4KMATLdqdvsezGxaGsi4hLGOzlXwp5UZB1LY\/\/20VyM2taTB4QvJ\"\n            crossorigin=\"anonymous\"&gt;&lt;\/script&gt;\n    &lt;script src=\"https:\/\/stackpath.bootstrapcdn.com\/bootstrap\/4.1.0\/js\/bootstrap.min.js\"\n            integrity=\"sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt\/6v9KI65qnm\"\n            crossorigin=\"anonymous\"&gt;&lt;\/script&gt;\n&lt;\/body&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Top%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E4%BD%9C%E6%88%90\"><\/span>Top\u30da\u30fc\u30b8\u306e\u4f5c\u6210<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p id=\"70bdacef-eb38-4e99-98a9-06b6e388a706\">\u6b21\u306b\u30c8\u30c3\u30d7\u30da\u30fc\u30b8\u306e\u4f5c\u6210\u3092\u884c\u3044\u307e\u3059\u3002\u307e\u3060\u4f55\u3082\u8a2d\u5b9a\u3059\u308b\u4e88\u5b9a\u306f\u306a\u3044\u306e\u3067\u30b7\u30f3\u30d7\u30eb\u306b\u66f8\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{% extends \"base.html\"%}\n{% block content %}\n{% load static %}\n{% endblock %}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Login%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AE%E4%BD%9C%E6%88%90\"><\/span>Login\u30da\u30fc\u30b8\u306e\u4f5c\u6210<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p id=\"9d82221e-34d7-47fa-9fca-fd84755c4c0f\">\u6b21\u306b\u30ed\u30b0\u30a4\u30f3\u30da\u30fc\u30b8\u306e\u4f5c\u6210\u3092\u884c\u3044\u307e\u3059\u3002bootstrap\u4f7f\u3044\u306a\u304c\u3089\u5b9f\u88c5\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{% extends \"base.html\"%}\n{% block content %}\n\n&lt;head&gt;\n    &lt;meta charset=\"utf-8\"&gt;\n    &lt;title&gt;LOGIN&lt;\/title&gt;\n    \n&lt;\/head&gt;\n&lt;h2&gt;UserLogin&lt;\/h2&gt;\n\n\n  &lt;div class=\"card col-md-6\" id=\"form1\"&gt;\n    &lt;div class=\"card-body\"&gt;\n       &lt;form action=\"{% url 'practice:login' %}\" method=\"POST\"&gt;\n                {{ form.non_field_errors }}\n                {% for field in form %}\n                {{ field.label }}&lt;br&gt;\n                    {{ field }}\n                    {{ field.errors }}\n\n                    &lt;hr&gt;\n                {% endfor %}\n                &lt;button type=\"submit\" class=\"btn btn-success btn-info btn-block\" &gt;Login&lt;\/button&gt;\n                {% csrf_token %}\n              &lt;\/form&gt;\n            &lt;\/div&gt;\n        &lt;\/div&gt;\n    &lt;\/div&gt;\n{% endblock %}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Application%E3%82%92%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AB%E8%AA%8D%E7%9F%A5%E3%81%97%E3%81%A6%E3%82%82%E3%82%89%E3%81%86\"><\/span>Application\u3092\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306b\u8a8d\u77e5\u3057\u3066\u3082\u3089\u3046<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"7500992e-f97b-4fac-9c9b-95e870a845ff\">\u3053\u308c\u3067\u30da\u30fc\u30b8\u306e\u8868\u793a\u304c\u5b8c\u4e86\u3057\u307e\u3057\u305f\u304c\u3053\u306e\u307e\u307e\u8d77\u52d5\u3057\u3066\u3082\u305d\u3093\u306a\u3082\u306e\u306a\u3044\u3088\u3068\u8fd4\u3055\u308c\u308b\u306e\u3067settings.py\u3092\u958b\u304d INSTALLAPPS\u306b\u8ffd\u52a0\u3057\u307e\u3059\u3002\u3064\u3044\u3067\u306b\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3057\u305f\u30ed\u30b0\u30a4\u30f3\u65b9\u6cd5\u3092\u4f1d\u3048\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>INSTALLED_APPS = &#91;\n    'django.contrib.admin',\n    'django.contrib.auth',\n    'django.contrib.contenttypes',\n    'django.contrib.sessions',\n    'django.contrib.messages',\n    'django.contrib.staticfiles',\n    'practice'\uff03\u8ffd\u52a0\n]\nAUTH_USER_MODEL = 'practice.User'\uff03\u5909\u66f4\u3057\u305f\u30ed\u30b0\u30a4\u30f3\u65b9\u6cd5\u3092\u4f1d\u3048\u308b\n<\/code><\/pre>\n\n\n\n<p id=\"57e65e4b-45a1-492d-b4e5-b0daf49b5c7e\">\u3053\u308c\u3067\u4ee5\u4e0b\u306e\u753b\u50cf\u306e\u611f\u3058\u3067\u30da\u30fc\u30b8\u3092\u898b\u308b\u3060\u3051\u306a\u3089\u5b8c\u4e86\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/assets.st-note.com\/img\/1642479235031-BVewpgAjNh.png\"><img decoding=\"async\" src=\"https:\/\/assets.st-note.com\/img\/1642479235031-BVewpgAjNh.png?width=800\" alt=\"\u753b\u50cf\u3092\u62e1\u5927\u8868\u793a\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%82%A2%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B\"><\/span>\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210\u3059\u308b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"c1bc61d5-485c-45a5-b6fc-33b718f7e8b1\">\u5b9f\u969b\u306b\u30ed\u30b0\u30a4\u30f3\u3092\u884c\u3046\u524d\u306b\u307e\u305aUser\u3059\u3089\u767b\u9332\u3057\u3066\u3044\u306a\u3044\u306e\u3067\u5148\u306b\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u308a\u307e\u3059\u3002\u3088\u304f\u4f7f\u3046\u3067\u3042\u308d\u3046\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3092\u8a18\u5165\u3057\u3066\u4eee\u767b\u9332\u3001\u5c4a\u3044\u305f\u30e1\u30fc\u30eb\u306eURL\u3092\u30af\u30ea\u30c3\u30af\u3057\u305f\u3089\u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u5b8c\u4e86\u3059\u308b\u4ed5\u7d44\u307f\u306f\u5225\u8a18\u4e8b\u306b\u66f8\u304d\u307e\u3059\u304c\u3001\u4eca\u56de\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u5165\u3063\u3066\u3044\u308b\u7ba1\u7406\u8005\u7528\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%92%E7%99%BB%E9%8C%B2%E3%81%99%E3%82%8B\"><\/span>\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u767b\u9332\u3059\u308b<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p id=\"c86a85a9-7540-4aa1-8668-ae2bac92ae2b\">\u3053\u3046\u3044\u3046\u30c7\u30fc\u30bf\u30fc\u30d9\u30fc\u30b9\u304c\u3042\u308a\u307e\u3059\u3088\u3068sqllite3\u306b\u767b\u9332\u3057\u307e\u3059\u3002Terminal\u3092\u958b\u3044\u3066\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u6253\u3061\u8fbc\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python manage.py makemigrations practice<\/code><\/pre>\n\n\n\n<p id=\"180647af-64a8-426b-be8c-4f071c289d59\">\u6b21\u306b\u3053\u306e\u30b3\u30de\u30f3\u30c9\u3092\u5165\u529b\u3057\u3066\u767b\u9332\u306f\u5b8c\u4e86\u3057\u307e\u3059<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python manage.py migrate<\/code><\/pre>\n\n\n\n<p id=\"23a5eae9-68f3-4ea4-be5e-188759f951b3\">\u30a8\u30e9\u30fc\u304c\u306a\u304f\u52d5\u4f5c\u3057\u305f\u3089\u6b21\u306f\u7ba1\u7406\u8005\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\u4ee5\u4e0b\u306e\u30b3\u30de\u30f3\u30c9\u3092\u8a18\u5165\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python manage.py createsuperuser<\/code><\/pre>\n\n\n\n<p id=\"105ac827-0816-49c9-af2a-464557a16165\">\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u3084\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u305f\u3089\u30ed\u30b0\u30a4\u30f3\u307e\u3067\u306f\u7d42\u308f\u308a\u3067\u3059\u3002\u5b9f\u969b\u306b\u30ed\u30b0\u30a4\u30f3\u3057\u3066\u307f\u308b\u3068\u3053\u3093\u306a\u611f\u3058\u306b\u306a\u308b\u306f\u305a\u3067\u3059\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/assets.st-note.com\/img\/1642493379730-WHOPU4Xphq.png\"><img decoding=\"async\" src=\"https:\/\/assets.st-note.com\/img\/1642493379730-WHOPU4Xphq.png?width=800\" alt=\"\u753b\u50cf\u3092\u62e1\u5927\u8868\u793a\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/assets.st-note.com\/img\/1642493391975-lg0pUR24Fn.png\"><img decoding=\"async\" src=\"https:\/\/assets.st-note.com\/img\/1642493391975-lg0pUR24Fn.png?width=800\" alt=\"\u753b\u50cf\u3092\u62e1\u5927\u8868\u793a\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E6%9C%80%E5%BE%8C%E3%81%AB\"><\/span>\u6700\u5f8c\u306b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p id=\"7719c566-449b-4696-9c74-e7f3ddcc666c\">\u3053\u308c\u3067\u30ed\u30b0\u30a4\u30f3\u307e\u3067\u306e\u6a5f\u80fd\u306f\u7d42\u4e86\u3068\u306a\u308a\u307e\u3059\u3002\u6b21\u306f\u30e1\u30fc\u30eb\u9001\u4fe1\u306e\u6a5f\u80fd\u3092\u53d6\u308a\u4ed8\u3051\u3066\u30e1\u30fc\u30eb\u9001\u4fe1\u304b\u3089\u30a2\u30ab\u30a6\u30f3\u30c8\u4f5c\u6210\u3092\u884c\u3063\u3066\u307f\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4eca\u6642\u3001Youtube\u3084Instagram\u30ec\u30d9 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,8,5],"tags":[16],"class_list":["post-720","post","type-post","status-publish","format-standard","hentry","category-django","category-python","category-note","tag-django"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.sea2800.com\/index.php?rest_route=\/wp\/v2\/posts\/720","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sea2800.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sea2800.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sea2800.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sea2800.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=720"}],"version-history":[{"count":3,"href":"https:\/\/www.sea2800.com\/index.php?rest_route=\/wp\/v2\/posts\/720\/revisions"}],"predecessor-version":[{"id":826,"href":"https:\/\/www.sea2800.com\/index.php?rest_route=\/wp\/v2\/posts\/720\/revisions\/826"}],"wp:attachment":[{"href":"https:\/\/www.sea2800.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sea2800.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sea2800.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}