非常にdjangoの新機能です。 htmlページの新しい行にモデルフォームの各フィールドを入れたいと思います。私は使用しようとしましたが、それは動作しません。これどうやってするの?ここで私が持っているHTMLは、データをキャプチャするために私のフォームを表示するページです。django形式で各フィールドの新しい水平行を作成する方法は?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<table>
<thead><th>{{title}}</th>
{% for record in record_list%}
<tr><td>{{record.county}}</td></tr>
<tr><td>{{record.route}}</td></tr>
<tr><td>{{record.pmb}}</td></tr>
<tr><td>{{record.pme}}</td></tr>
<tr><td>{{record.map_sheet_desc}}</td></tr>
<tr><td>{{record.drawingdate}}</td></tr>
<tr><td>{{record.index_map_filepath}}</td></tr>
<tr><td>{{record.grantor_box_filepath}}</td></tr>
<tr><td>{{record.control_map_filepath}}</td></tr>
<tr><td>{{record.info_sheet_filepath}}</td></tr>
<tr><td>{{record.mapdatum}}</td></tr>
{% endfor %}
</table>
<form method="POST" action="/update/">
<fieldset>
<legend>Create Map Index Record</legend>
{% csrf_token %}
{{form_mapindex}}
<br><button type="submit">Create Record</button>
</fieldset>
</form>
</body>
</html>
そしてここでは、コードは、私のviews.pyである:
from django.http import HttpResponseRedirect
from django.shortcuts import render
from django.views.generic import View
from .models import Mapindex as MapIndexModel
from .forms import MapIndexForm
class MapIndexView(View):
template_name = 'add.html'
def get(self, request):
record_list = []
form_mapindex = MapIndexForm()
records = MapIndexModel.objects.all()[:50]
for record in records:
record_list.append({'county': record.county, 'route': record.route, 'pmb': record.pmb, 'pme': record.pme,
'map_sheet_desc': record.map_sheet_desc, 'drawingdate': record.drawingdate,
'index_map_filepath': record.index_map_filepath, 'grantor_box_filepath': record.grantor_box_filepath,
'control_map_filepath': record.control_map_filepath, 'info_sheet_filepath': record.info_sheet_filepath,
'mapdatum': record.mapdatum})
return render(request, self.template_name, {
'title': 'Map Index Update Form',
'mapindex_list': record_list,
'form_mapindex': form_mapindex
})
def post(self, request):
form_mapindex = MapIndexForm(request.POST)
if form_mapindex.is_valid():
form_mapindex.save()
return HttpResponseRedirect('/update/')
、ここではforms.pyです:
from django import forms
from .models import Mapindex
class MapIndexForm(forms.ModelForm):
class Meta:
model = Mapindex
fields = ['county', 'route', 'pmb', 'pme', 'map_sheet_desc', 'drawingdate', 'index_map_filepath',
'grantor_box_filepath', 'control_map_filepath', 'info_sheet_filepath', 'mapdatum']
あなたの投稿には情報がありません。あなたが使ったのは何ですか?このテンプレートのビューには何が入っていますか? –
リリーフありがとう、私は投稿に含めるべきことが他にはありませんでしたが、私のviews.pyも表示するように更新しました。 – kflaw
私が使用しているサンプルと私が使っているサンプルの違いは、既存のレコードを気にせず、新しいレコードを追加したいということです。それを見続けるだろう – kflaw