{"id":768,"date":"2019-02-06T22:47:43","date_gmt":"2019-02-06T13:47:43","guid":{"rendered":"https:\/\/www.nblog09.com\/w\/?p=768"},"modified":"2021-06-19T12:56:11","modified_gmt":"2021-06-19T03:56:11","slug":"django-form-2","status":"publish","type":"post","link":"https:\/\/www.nblog09.com\/w\/2019\/02\/06\/django-form-2\/","title":{"rendered":"Django\u306eModelForm\u3067Form\u304b\u3089\u9001\u4fe1\u3057\u305f\u30c7\u30fc\u30bf\u3092\u633f\u5165\u3059\u308b"},"content":{"rendered":"<h2 class=\"title-border\"><strong><br \/>\nDjango\u306eForm\u304b\u3089\u9001\u4fe1\u3057\u305f\u30c7\u30fc\u30bf\u3092\u767b\u9332\u3059\u308b<\/strong><\/h2>\n<p>Django\u3067Form\u3067\u306f\u3001\u753b\u9762\u304b\u3089POST\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u3057\u3001\u30e2\u30c7\u30eb\u3068\u9023\u643a\u3057\u3066\u30c7\u30fc\u30bf\u3092\u767b\u9332\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u308b<\/p>\n<p>\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u6d41\u308c\u3067\u51e6\u7406\u3092\u5b9a\u7fa9\u3059\u308b<\/p>\n<ol><strong><\/p>\n<li>\u30e2\u30c7\u30eb\u306e\u4f5c\u6210(models.py)<\/li>\n<li>\u30d5\u30a9\u30fc\u30e0\u3067\u30e2\u30c7\u30eb\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u5b9a\u7fa9(forms.py)<\/li>\n<li>\u30d3\u30e5\u30fc\u304b\u3089\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306b\u30d5\u30a9\u30fc\u30e0\u3092\u6e21\u3057\u3066\u3001POST\u6642\u306b\u767b\u9332\u3059\u308b\u3088\u3046\u306b\u8a18\u8ff0\u3059\u308b(views.py)<\/li>\n<li>\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306bForm\u9001\u4fe1\u753b\u9762\u3092\u4f5c\u6210(user.html)<\/li>\n<p><\/strong><\/ol>\n<div class=\"programming-gray\">\n<ul>\n<li>models.py(\u30e2\u30c7\u30eb\u306e\u5b9a\u7fa9)<\/li>\n<\/ul>\n<div class=\"programming-inside\">\nfrom django.db import models<\/p>\n<p>class User(models.Model):<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;first_name = models.CharField(max_length=128)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;last_name = models.CharField(max_length=128)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;email = models.EmailField(max_length=264, unique=True)<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;age = models.IntegerField(default=0)<\/pre>\n<\/div>\n<ul>\n<li>forms.py(\u30d5\u30a9\u30fc\u30e0\u306e\u5b9a\u7fa9)<\/li>\n<\/ul>\n<div class=\"programming-inside\">\nfrom django import forms<br \/>\nfrom app.models import User<\/p>\n<p>class NewUserForm(<span class=\"codehighlight\">forms.ModelForm<\/span>): <strong>ModelForm\u3092\u7d99\u627f<\/strong><br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;class Meta():<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model = User <strong># \u30e2\u30c7\u30eb\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210<\/strong><br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fields = '__all__' <strong> # fields\u306b__all__\u3092\u30bb\u30c3\u30c8\u3059\u308b\u3068\u3001\u30e2\u30c7\u30eb\u5185\u306e\u5168\u3066\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u3092\u30d5\u30a9\u30fc\u30e0\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u306b\u7528\u3044\u308b<\/strong>\n<\/div>\n<ul>\n<li>views.py(\u30d3\u30e5\u30fc\u306e\u5b9a\u7fa9)<\/li>\n<\/ul>\n<div class=\"programming-inside\">\nfrom django.shortcuts import render<br \/>\nfrom app.models import User<br \/>\nfrom app.forms import NewUserForm<\/p>\n<p>def users(request): <strong># form\u767b\u9332\u7528\u306e\u30d3\u30e5\u30fc<\/strong><br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;form = NewUserForm(request.POST or None) <strong># form\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u4f5c\u6210<\/strong><\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;if form.is_valid():<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=\"codehighlight\">form.save(commit=True)<\/span> <strong># form.save\u3068\u3059\u308b\u3068\u30c7\u30fc\u30bf\u304c\u767b\u9332\u3055\u308c\u308b<\/strong><br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;else:<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print('ERROR FORM INVALID')<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;return render(request, 'app\/user.html', {'form': form})\n<\/div>\n<ul>\n<li>user.html<\/li>\n<\/ul>\n<div class=\"programming-inside\">\n&lt;!DOCTYPE html&gt;<br \/>\n&lt;html&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;head&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta charset=\"utf-8\"&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/title&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;link rel=\"stylesheet\" href=\"https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/3.3.7\/css\/bootstrap.min.css\" integrity=\"sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz\/K68vbdEjh4u\" crossorigin=\"anonymous\"&gt;<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/head&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;body&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;h1&gt;Please sign up here&lt;\/h1&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"container\"&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=\"jumbotron\"&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;h1&gt;welcome&lt;\/h1&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;form method=\"POST\"&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{ form.as_p }}<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{% csrf_token %}<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=\"submit\" class=\"btn btn-primary\" value=\"Submit\"&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/form&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/div&gt;<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/body&gt;<br \/>\n&lt;\/html&gt;\n<\/p><\/div>\n<\/div>\n<p>\u753b\u9762\u4e0a\u306b\u306f\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u8868\u793a\u3055\u308c\u308b<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-770 aligncenter\" src=\"https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/02\/form_submit-300x148.png\" alt=\"\" width=\"426\" height=\"210\" srcset=\"https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/02\/form_submit-300x148.png 300w, https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/02\/form_submit-768x379.png 768w, https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/02\/form_submit-1024x505.png 1024w, https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/02\/form_submit.png 1920w\" sizes=\"auto, (max-width: 426px) 100vw, 426px\" \/><\/p>\n<p>\u9001\u4fe1\u3092\u3057\u305f\u7d50\u679c\u3001\u753b\u9762\u306b\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u30e6\u30fc\u30b6\u60c5\u5831\u304c\u767b\u9332\u3055\u308c\u308b\u3002<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-771 aligncenter\" src=\"https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/02\/kanri-300x140.png\" alt=\"\" width=\"394\" height=\"184\" srcset=\"https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/02\/kanri-300x140.png 300w, https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/02\/kanri-768x358.png 768w, https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/02\/kanri-1024x477.png 1024w, https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/02\/kanri.png 1918w\" sizes=\"auto, (max-width: 394px) 100vw, 394px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Django\u306eForm\u304b\u3089\u9001\u4fe1\u3057\u305f\u30c7\u30fc\u30bf\u3092\u767b\u9332\u3059\u308b Django\u3067Form\u3067\u306f\u3001\u753b\u9762\u304b\u3089POST\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001\u4fe1\u3057\u3001\u30e2\u30c7\u30eb\u3068\u9023\u643a\u3057\u3066\u30c7\u30fc\u30bf\u3092\u767b\u9332\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u308b \u4ee5\u4e0b\u306e\u3088\u3046\u306a\u6d41\u308c\u3067\u51e6\u7406\u3092\u5b9a\u7fa9\u3059\u308b \u30e2\u30c7\u30eb\u306e\u4f5c\u6210(model [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":386,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_uag_custom_page_level_css":"","_uf_show_specific_survey":0,"_uf_disable_surveys":false,"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[121,219],"tags":[],"class_list":{"0":"post-768","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-django","8":"category-it-programming","9":"entry"},"uagb_featured_image_src":{"full":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/night-196431__480.jpg",853,480,false],"thumbnail":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/night-196431__480-150x150.jpg",150,150,true],"medium":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/night-196431__480-300x169.jpg",300,169,true],"medium_large":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/night-196431__480-768x432.jpg",768,432,true],"large":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/night-196431__480.jpg",853,480,false],"1536x1536":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/night-196431__480.jpg",853,480,false],"2048x2048":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/night-196431__480.jpg",853,480,false],"home-middle":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/night-196431__480.jpg",622,350,false],"home-top":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/night-196431__480.jpg",746,420,false],"sidebar-thumbnail":["https:\/\/www.nblog09.com\/w\/wp-content\/uploads\/2019\/01\/night-196431__480.jpg",100,56,false]},"uagb_author_info":{"display_name":"9nmatsumoto","author_link":"https:\/\/www.nblog09.com\/w\/author\/9nmatsumoto\/"},"uagb_comment_info":1,"uagb_excerpt":"Django\u306eForm\u304b\u3089\u9001\u4fe1\u3057\u305f\u30c7\u30fc\u30bf\u3092\u767b\u9332\u3059\u308b Django\u3067Form\u3067\u306f\u3001\u753b\u9762\u304b\u3089POST\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u9001&hellip;","_links":{"self":[{"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/posts\/768","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/comments?post=768"}],"version-history":[{"count":8,"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/posts\/768\/revisions"}],"predecessor-version":[{"id":3215,"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/posts\/768\/revisions\/3215"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/media\/386"}],"wp:attachment":[{"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/media?parent=768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/categories?post=768"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nblog09.com\/w\/wp-json\/wp\/v2\/tags?post=768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}