私はpythonとdjangoの初心者で、htmlページのさまざまなフィールドをデータベースに保存するのに苦労しています。たとえば、5 つのフィールドと 1 つの送信ボタンを含む html ページがあります。フォームを送信するときに、html フォームのすべての値を指定されたデータベースのテーブルに保存する必要があります。これで私を助けてください。
質問する
6150 次
2 に答える
1
models.py
from django.contrib.auth.models import User
from django.db import models
class AllocationPlan(models.Model):
user = models.ForeignKey(User)
name = models.CharField(max_length=50)
data = models.CharField(max_length=4096)
total = models.DecimalField(max_digits=10, decimal_places=2)
forms.py
from django import forms
from django.forms import ModelForm
from app_name.models import AllocationPlan
class AllocationPlanForm(ModelForm):
class Meta:
model = AllocationPlan
views.py
from django.shortcuts import render
from app_name.forms import AllocationPlanForm
def add(request):
if request.method == 'POST':
form = AllocatinPlanForm(request.POST)
if form.is_valid():
form.save()
return render(request, 'page.html', {
'form': AllocationPlanForm()
})
page.html
<form method="post">{% csrf_token %}
{% for field in form %}
{{field}}
<input type="submit" value="Submit"/>
{% endfor %}
</form>
于 2013-01-25T16:48:19.317 に答える
1
これには、モデルの属性をデータベース フィールドにマップし、フォームの作成に簡単に使用できるモデルの角度からアプローチする必要があります。これは、オブジェクト リレーショナル マッピングと呼ばれます。
まず、アプリのフォルダーに models.py を作成 (または変更) し、そこにモデルを宣言します (基本的に、保存するフィールド)。前述のように、フォームの作成とモデルとフォームのマッピングに関する Django のチュートリアルを参照してください。
于 2013-01-25T12:51:24.797 に答える