0

私はpythonとdjangoの初心者で、htmlページのさまざまなフィールドをデータベースに保存するのに苦労しています。たとえば、5 つのフィールドと 1 つの送信ボタンを含む html ページがあります。フォームを送信するときに、html フォームのすべての値を指定されたデータベースのテーブルに保存する必要があります。これで私を助けてください。

4

2 に答える 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 に答える