-3

送信ボタンをクリックしたときに、テンプレートから関数にドロップダウン変数を渡したい

    #models.py :-

    class donnee(models.Model):
        name = models.CharField(_('name'), max_length= 150)

        def __unicode__(self):
            return self.name

        class Meta:
            verbose_name = _('donnee')
            verbose_name_plural = _('donnees filtrage')
            ordering = ['name']


    class Property(models.Model):
        name = models.CharField(_('name'), max_length=50)
        description = models.TextField(_('description'), blank=True)

        def __unicode__(self):
            return self.name

        class Meta:
            verbose_name = _('property')
            verbose_name_plural = _('properties')
            ordering = ['name']


    class Physic2(models.Model):
        name = models.ForeignKey(Property, verbose_name=_('name'), null=True, blank=True)
        lapropriete = models.ForeignKey(donnee, verbose_name=_('lapropriete'),  blank=True)
        #lapropriete = models.CharField(_('property'), max_length=100)
        description = models.TextField(_('description'), blank=True)

        def __unicode__(self):
            return self.lapropriete

        class Meta:
            verbose_name = _('physic2')
            verbose_name_plural = _('physics2')
            ordering = ['name']

    #forms.py:-

    class Physic2Form(forms.ModelForm):
        class Meta:
            model = Physic2

    #views.py:-

    def get_materials_one(request, category_slug=None):
        if category_slug is None:
            lafamille= 'general'
            propriete= Physic2Form()
            return render_to_response('material/critere1.html',
                                       {'unefamille': lafamille,
                                        'propriete': propriete},
                                         context_instance=RequestContext(request))

    #template:-

    <form id= "testjson" action="{% url chercher_filtre1 %}" method= "get"  onsubmit = "">

    {{ propriete.lapropriete }}

    <td><input type="submit" style="background-color:#D7D8D4;" value="Search" id= "chercher"/></td>
    </div>

    </form>

    #function:-

    valT1 = request.GET['lapropriete'] 

this don't work

ドロップダウン リストのフィールドをクリックしたとき

valT1 = 1 または 2... フィールドの ID です

私はフィールドを持っています

ビッカース硬度 (GPa) せん断弾性率 (GPa) ヤング率 (GPa)

request.GET[ ??] に何を入れるか

4

2 に答える 2

0

私の機能

def search_filter1(リクエスト): 試してください:

    val_min1 = float(request.GET['Vmin1'])
    val_max1 = float(request.GET['Vmax1'])
    T_min1 = float(request.GET['Tmin1'])
    T_max1 = float(request.GET['Tmax1'])
    if request.method == 'GET':
        form = Physic2Form(request.GET)
        if form.is_valid():
            valT1 = form['lapropriete']
    print 'val_min1:',val_min1
    print 'val_max1:',val_max1
    print 'Tmin1:', T_min1
    print 'Tmax1:', T_max1
    print 'valT1:',valT1

送信ボタンをクリックしたときにプロパティ 'Shear Modulus (GPa)' を選択すると、次のようになります。

val_min1: 44.0 val_max1: 99.0 Tmin1: 44.0 Tmax1: 99.0

valT1: <select name="lapropriete" id="id_lapropriete">
<option value="">---------</option>
<option value="2">Elasticity Modulus (GPa)</option>
<option value="4" selected="selected">Shear Modulus (GPa)</option>
<option value="1">Vickers Hardness (GPa)</option>
<option value="3">Young Modulus (GPa)</option>
</select>

どうして ?

于 2013-06-19T08:32:06.687 に答える