2013-01-25 72 views
0

我是python和django的新手,我很難將html頁面的各個字段存儲到數據庫中。例如,我有一個包含5個字段和一個提交按鈕的html頁面。在提交表單時,我希望來自html表單的所有值都應存儲在給定數據庫的表中。 請幫我。如何使用django從html表單獲取數值到數據庫python

+3

您需要在https://docs.djangoproject.com/en/dev/intro/tutorial04/ – Rohan

回答

0
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> 
+0

如果我這樣做,然後我得到的錯誤「未定義變量AllocationPlan」在forms.py和views.py有關AllocationPlanForm – Abhay

+0

這只是一個示例,你可以使用自己的模型。只需按照模式 – catherine

+0

是否有任何我們需要在forms.py中導入,因爲如果即時通訊寫入「model = model_name」即時獲取錯誤未定義變量 – Abhay

1

您應該從模型的角度來處理這個問題,模型的角色將模型的屬性映射到數據庫字段,並且可以很方便地用於創建表單。這叫做Object-Relational Mapping

首先在應用程序文件夾中創建(或修改)models.py,並在那裏聲明模型(實質上是要存儲的字段)。如前所述,請參閱Django的教程creating formsmodel-form mapping

+0

我創建models.py它由表的所有領域使用Django的形式,教程。在java中,我們使用getter和setter來存儲任何html表單的值。所以你可以給我一個例如,說明存儲表單字段爲db。以html格式獲取任意字段的任意名稱。 – Abhay

+1

@Abhay,薩米給你的信息。你是否懶得去關注模型文檔的鏈接?這裏都有描述。 –

相關問題