2016-11-21 59 views
0

我被Django困住了,我想了解更多关于这个框架的知识。我读了一些教程(英文和法文教程),并且在我开始时,我没有找到我想要的东西。带有Django表单的ModelChoiceField

我有一个forms.py file在我的应用程序目录:

#-*- coding: utf-8 -*- 

from django import forms 

class BirthCertificateForm (forms.Form) : 

# rowid = forms.IntegerField() # rowid primary key 
# numero_acte = forms.IntegerField() # Form number 
    date_acte = forms.DateField('%d/%m/%Y') # Form date 
    heure_acte = forms.TimeField('%H:%M:%S') # Form hour 
    nom = forms.CharField(max_length=30, label=u"Nom") # Lastname 
    prenom = forms.CharField(max_length=30, label=u"Prénom") # Firstname 
    sexe = forms. # <== I would like to have the choice between 'M' or 'F' 

这是我views.app文件:

from django.shortcuts import render_to_response 
from django.http import HttpResponse 
from django.template import loader 
from BirthCertificate.forms import BirthCertificateForm 

# Create your views here. 

def BirthCertificateAccueil(request) : 
    # Fonction permettant de créer la page d'accueil de la rubrique Acte de Naissance 

    #Cherche le fichier html accueil et le renvois 
    template = loader.get_template('accueil.html') 
    return HttpResponse(template.render(request)) 


def BirthCertificateCreationAccueil(request) : 
    # Fonction permettant de créer la page de création du formulaire de la partie : Acte de Naissance 

    template = loader.get_template('creation_accueil.html') 
    return HttpResponse(template.render(request)) 

def BirthCertificateForm(request) : 
    # Fonction permettant de créer le formulaire Acte de Naissance et le remplissage 

    if request.method == 'POST' : 
     form = BirthCertificateForm(request.POST or None) 

     if form.is_valid(): 
      numero_acte = form.cleaned_data["Numero de l'acte"] 
      nom = form.cleaned_data['Nom'] 
      prenom = form.cleaned_data['Prenom'] 

    return render_to_response(request, 'birthform.html', {'form' : form}) 

1)我想在sexe场2个选项之间进行选择。用户必须选择MF。我想我必须使用ModelChoiceField但我不知道如何使用此功能。

2)其他问题:当使用提交表单时,后面的数据库会被更新吗?所以我必须在某处指定rowid或自动添加?

非常感谢!

+0

您有与该表格相关的模型吗?还有几乎任何你可以在[Django真棒文档](https://docs.djangoproject.com/en/1.10/)中找到的东西! –

+0

@vishes_shell不,我的models.py文件是空的。是否有必要有一个?我遵循的教程没有指定模型文件。 – Deadpool

回答

2

ModelChoiceField是,嗯,这来自于车型选择。如果你不需要模型(并且我不明白你如何处理你的数据,但是没关系),那么你只需要使用ChoiceField

sexe = forms.ChoiceField(choices=(('M', 'Mâle'), ('F', 'Femelle')) 
+0

谢谢你的回答。通过我的表单数据,我想替换文本中的一些变量。我不写一个模型文件,因为我下面的教程没有指定model.py文件。但如果有必要,我会制作一个。 – Deadpool

+0

即使是法国人,我也喜欢!:) –

相关问题