Django表单中的标签没有';我不能改变它的名字

Django表单中的标签没有';我不能改变它的名字,django,forms,django-forms,Django,Forms,Django Forms,我正试图在表单中更改我的标签。但尽管尝试了,我还是无法更改消费者字段的标签。我也没有看到我的打字错误 型号.py class Offer(models.Model): owner = models.ForeignKey(CustomUser, on_delete=models.CASCADE) customer = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name='Klient') se

我正试图在表单中更改我的标签。但尽管尝试了,我还是无法更改
消费者
字段的标签。我也没有看到我的打字错误

型号.py

class Offer(models.Model):
    owner = models.ForeignKey(CustomUser, on_delete=models.CASCADE)
    customer = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name='Klient')
    seller = models.ForeignKey(Seller, on_delete=models.CASCADE, verbose_name='Sprzedawca')
    vat = models.ForeignKey(Vat, on_delete=models.CASCADE, verbose_name='Stawka VAT')
    annual_usage_kw = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True, verbose_name='Roczne zużycie KW')
    monthly_usage_kwh = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True, verbose_name='Miesięczne zużycie KWH')
    monthly_usage_zl = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True, verbose_name='Miesieczne zużycie PLN')
    excepted_power = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True, verbose_name='Oczekiwana moc KW')
    roof_orientation = models.ForeignKey(RoofConstruction, on_delete=models.CASCADE, verbose_name='Konstrukcja dachu')
    price_per_kw = models.ForeignKey(PricePerKw, on_delete=models.CASCADE, verbose_name='Cena za KW')
    product = models.ManyToManyField(Product, verbose_name='Produkt')
    inverter = models.ManyToManyField(Inverter, blank=True, verbose_name='Inverter')
    number_of_product = models.IntegerField(blank=True, null=True, verbose_name='Liczba produktów (opcjonalnie)')
    employer_margin_price = models.IntegerField(blank=True, null=True, verbose_name='Marża cenowa pracownika')
    accessories = models.ManyToManyField(Accesorie, blank=True, verbose_name='Akcesoria')
class OfferParametersForm(forms.ModelForm):
    class Meta:
        model = Offer
        fields = ('customer', 'vat', 'annual_usage_kw', 'monthly_usage_kwh', 'monthly_usage_zl', 'excepted_power',
                  'roof_orientation', 'price_per_kw')
        labels = {'customer': 'Klient',
                  'vat': 'VAT',
                  'annual_usage_kw': 'Roczne zużycie KW',
                  'monthly_usage_kwh': 'Miesięczne zużycie KWH',
                  'monthly_usage_zl': 'Miesieczne zużycie PLN',
                  'excepted_power': 'Oczekiwana moc KW',
                  'roof_orientation': 'Konstrukcja dachu',
                  'price_per_kw': 'Cena za KW',
                  }
def parameters(request):
    #basic
    step = 2
    step_percentages = 33
    template_name = 'Nowa oferta'
    object_id = request.session.get('costumer_id')
    #form
    OfferParametersForm.base_fields['customer'] = forms.ModelChoiceField(queryset=Customer.objects.filter(owner=request.user))
    if request.method == 'POST':
        form = OfferParametersForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            qd = QueryDict(mutable=True)
            qd.update(customer=cd['customer'], vat=cd['vat'], annual_usage_kw=cd['annual_usage_kw'],
                      monthly_usage_kwh=cd['monthly_usage_kwh'], monthly_usage_zl=cd['monthly_usage_zl'],
                      excepted_power=cd['excepted_power'], roof_orientation=cd['roof_orientation'],
                      price_per_kw=cd['price_per_kw'])
            return HttpResponseRedirect(
                '{}?{}'.format(reverse('app:products'), qd.urlencode())
            )
    else:
        form = OfferParametersForm(initial={'customer': object_id,
                                            'vat': 1})
context = {'step': step,
           'step_percentages': step_percentages,
           'template_name': template_name,
           'form': form}
return render(request, 'app/parameters.html', context)
forms.py

class Offer(models.Model):
    owner = models.ForeignKey(CustomUser, on_delete=models.CASCADE)
    customer = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name='Klient')
    seller = models.ForeignKey(Seller, on_delete=models.CASCADE, verbose_name='Sprzedawca')
    vat = models.ForeignKey(Vat, on_delete=models.CASCADE, verbose_name='Stawka VAT')
    annual_usage_kw = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True, verbose_name='Roczne zużycie KW')
    monthly_usage_kwh = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True, verbose_name='Miesięczne zużycie KWH')
    monthly_usage_zl = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True, verbose_name='Miesieczne zużycie PLN')
    excepted_power = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True, verbose_name='Oczekiwana moc KW')
    roof_orientation = models.ForeignKey(RoofConstruction, on_delete=models.CASCADE, verbose_name='Konstrukcja dachu')
    price_per_kw = models.ForeignKey(PricePerKw, on_delete=models.CASCADE, verbose_name='Cena za KW')
    product = models.ManyToManyField(Product, verbose_name='Produkt')
    inverter = models.ManyToManyField(Inverter, blank=True, verbose_name='Inverter')
    number_of_product = models.IntegerField(blank=True, null=True, verbose_name='Liczba produktów (opcjonalnie)')
    employer_margin_price = models.IntegerField(blank=True, null=True, verbose_name='Marża cenowa pracownika')
    accessories = models.ManyToManyField(Accesorie, blank=True, verbose_name='Akcesoria')
class OfferParametersForm(forms.ModelForm):
    class Meta:
        model = Offer
        fields = ('customer', 'vat', 'annual_usage_kw', 'monthly_usage_kwh', 'monthly_usage_zl', 'excepted_power',
                  'roof_orientation', 'price_per_kw')
        labels = {'customer': 'Klient',
                  'vat': 'VAT',
                  'annual_usage_kw': 'Roczne zużycie KW',
                  'monthly_usage_kwh': 'Miesięczne zużycie KWH',
                  'monthly_usage_zl': 'Miesieczne zużycie PLN',
                  'excepted_power': 'Oczekiwana moc KW',
                  'roof_orientation': 'Konstrukcja dachu',
                  'price_per_kw': 'Cena za KW',
                  }
def parameters(request):
    #basic
    step = 2
    step_percentages = 33
    template_name = 'Nowa oferta'
    object_id = request.session.get('costumer_id')
    #form
    OfferParametersForm.base_fields['customer'] = forms.ModelChoiceField(queryset=Customer.objects.filter(owner=request.user))
    if request.method == 'POST':
        form = OfferParametersForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            qd = QueryDict(mutable=True)
            qd.update(customer=cd['customer'], vat=cd['vat'], annual_usage_kw=cd['annual_usage_kw'],
                      monthly_usage_kwh=cd['monthly_usage_kwh'], monthly_usage_zl=cd['monthly_usage_zl'],
                      excepted_power=cd['excepted_power'], roof_orientation=cd['roof_orientation'],
                      price_per_kw=cd['price_per_kw'])
            return HttpResponseRedirect(
                '{}?{}'.format(reverse('app:products'), qd.urlencode())
            )
    else:
        form = OfferParametersForm(initial={'customer': object_id,
                                            'vat': 1})
context = {'step': step,
           'step_percentages': step_percentages,
           'template_name': template_name,
           'form': form}
return render(request, 'app/parameters.html', context)

我使用我的表单作为方法
{{form.as\u p}
。我想我可能犯了一些愚蠢的错误。但是我没有看到错误的设置,我的标签仍然是
customer
,而不是
klient
。如何将客户标签更改为
klient

视图.py

class Offer(models.Model):
    owner = models.ForeignKey(CustomUser, on_delete=models.CASCADE)
    customer = models.ForeignKey(Customer, on_delete=models.CASCADE, verbose_name='Klient')
    seller = models.ForeignKey(Seller, on_delete=models.CASCADE, verbose_name='Sprzedawca')
    vat = models.ForeignKey(Vat, on_delete=models.CASCADE, verbose_name='Stawka VAT')
    annual_usage_kw = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True, verbose_name='Roczne zużycie KW')
    monthly_usage_kwh = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True, verbose_name='Miesięczne zużycie KWH')
    monthly_usage_zl = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True, verbose_name='Miesieczne zużycie PLN')
    excepted_power = models.DecimalField(max_digits=8, decimal_places=2, blank=True, null=True, verbose_name='Oczekiwana moc KW')
    roof_orientation = models.ForeignKey(RoofConstruction, on_delete=models.CASCADE, verbose_name='Konstrukcja dachu')
    price_per_kw = models.ForeignKey(PricePerKw, on_delete=models.CASCADE, verbose_name='Cena za KW')
    product = models.ManyToManyField(Product, verbose_name='Produkt')
    inverter = models.ManyToManyField(Inverter, blank=True, verbose_name='Inverter')
    number_of_product = models.IntegerField(blank=True, null=True, verbose_name='Liczba produktów (opcjonalnie)')
    employer_margin_price = models.IntegerField(blank=True, null=True, verbose_name='Marża cenowa pracownika')
    accessories = models.ManyToManyField(Accesorie, blank=True, verbose_name='Akcesoria')
class OfferParametersForm(forms.ModelForm):
    class Meta:
        model = Offer
        fields = ('customer', 'vat', 'annual_usage_kw', 'monthly_usage_kwh', 'monthly_usage_zl', 'excepted_power',
                  'roof_orientation', 'price_per_kw')
        labels = {'customer': 'Klient',
                  'vat': 'VAT',
                  'annual_usage_kw': 'Roczne zużycie KW',
                  'monthly_usage_kwh': 'Miesięczne zużycie KWH',
                  'monthly_usage_zl': 'Miesieczne zużycie PLN',
                  'excepted_power': 'Oczekiwana moc KW',
                  'roof_orientation': 'Konstrukcja dachu',
                  'price_per_kw': 'Cena za KW',
                  }
def parameters(request):
    #basic
    step = 2
    step_percentages = 33
    template_name = 'Nowa oferta'
    object_id = request.session.get('costumer_id')
    #form
    OfferParametersForm.base_fields['customer'] = forms.ModelChoiceField(queryset=Customer.objects.filter(owner=request.user))
    if request.method == 'POST':
        form = OfferParametersForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            qd = QueryDict(mutable=True)
            qd.update(customer=cd['customer'], vat=cd['vat'], annual_usage_kw=cd['annual_usage_kw'],
                      monthly_usage_kwh=cd['monthly_usage_kwh'], monthly_usage_zl=cd['monthly_usage_zl'],
                      excepted_power=cd['excepted_power'], roof_orientation=cd['roof_orientation'],
                      price_per_kw=cd['price_per_kw'])
            return HttpResponseRedirect(
                '{}?{}'.format(reverse('app:products'), qd.urlencode())
            )
    else:
        form = OfferParametersForm(initial={'customer': object_id,
                                            'vat': 1})
context = {'step': step,
           'step_percentages': step_percentages,
           'template_name': template_name,
           'form': form}
return render(request, 'app/parameters.html', context)

你能展示你的视图在哪里实例化你的表单和呈现你的模板吗?你好,谢谢你的回答。我在上面显示了我的views.py。您能解释一下这一行的作用吗:
OfferParametersForm.base_字段['customer']=forms.ModelChoiceField(queryset=customer.objects.filter(owner=request.user))
我看不出这会如何影响表单标签,但在视图中的parameters()方法中,您使用了“customer”而不是“customer”在object\u id=request.session.get('customer\u id')中。在你的问题中,你还有一些拼写错误(“客户”、“消费者”)。我会再次尝试检查您的代码中是否有拼写错误。