首页 > 解决方案 > 将 HTML 表单转换为 Django 表单

问题描述

我用 django 创建了一个网站,我在搬到 django 之前用 html 制作了这个网站,我知道需要知道如何以 djang 形式创建这个网站,并且存储在一个模型中,非常感谢任何帮助

 <form>
        <div class="newEvent">
            <fieldset id="ResultSheet">
                    <legend>Result Sheet</legend>
                         Event: <br>
                    <select name="Events" id="Events">
                                <option disabled selected value> --SELECT AN 
      OPTION 
        BELOW-- </option>
                        <option value="100 Metres">100 Metres</option>
                        <option value="200 Metres">200 Metres</option>
                        <option value="300 Metres">300 Metres</option>
                        <option value="400 Metres">400 Metres</option>
                        <option value="800 Metres">800 Metres</option>
                        <option value="1500 Metres">1500 Metres</option>
                        <option value="400 Metres">400 Metres</option>
                        <option value="Hurdels">Hurdels</option>
                        <option value="Shot Put">Shot Put</option>
                        <option value="Discus">Discus</option>
                        <option value="Javelin">Javelin</option>
                        <option value="Long Jump">Long Jump</option>
                        <option value="High Jump">High Jump</option>
                        <option value="Triple Jump">Triple Jump</option>
                         <option value="4x100 Metres Relay">4x100 Metres 
    relay</option>
                </select>

                <div class="newParticipant"> 
                <br>
                    Placing: <input type="number" name="placing" min="1">
                    First name: <input type="text" name="fisrtName">
                    Last Name: <input type="text" name="lastName">
                    Result: <input type="number" name="result">
                </div>
            <input type="button" class="newPupil button" name="newPupil" value="New participant"> 
            <input type="submit" value="Submit" class="button">
        </fieldset>
    </div>
    </form>
<input type="button" id="addEvent" name="addEvent" value="Add Event" class="button" />

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>

<button value="Refresh Page" onClick="refreshPage()" class="button">REFRESH</button>

标签: djangoforms

解决方案


正如您在评论中所说,您需要存储eventplacingfirst namelast name. result相同的 django 表单如下所示:

表格.py:

表格:-

from django import forms 
from django.core.validators import MinValueValidator

class MyForm(forms.Form):
    CHOICES = (('Option 1', 'Option 1'),('Option 2', 'Option 2'),)
    events = forms.ChoiceField(choices=CHOICES)
    placing = forms.IntegerField(validators=[MinValueValidator(1)])
    first_name = forms.CharField()
    last_name = forms.CharField()
    result = forms.IntegerField()

或者

模型形式:-

from django import forms
from .models import model_name
from django.core.validators import MinValueValidator 

class MyForm(forms.ModelForm):
    CHOICES = (('Option 1', 'Option 1'),('Option 2', 'Option 2'),)
    events = forms.ChoiceField(choices=CHOICES)
    placing = forms.IntegerField(validators=[MinValueValidator(1)])
    first_name = forms.CharField()
    last_name = forms.CharField()
    result = forms.IntegerField()

    class Meta:
      model = model_name
      fields = ['events', 'placing', 'first_name', 'last_name', 'result']

笔记:

如果ModelForm您不需要指定这些字段(除非您想为您的表单修改它们),如果它们已经存在于您的模型中。

例如,如果您已经first_name在模型中指定并且不想修改它,则可以将其从 ModelForm 中删除,并将其包含在fieldsMetadoc


推荐阅读