[django]在标签旁边添加红星并删除此消息:此字段为必填项

· 收录于 2024-01-06 17:04:06 · source URL

问题详情

我希望它出现在表单中的红星标签旁边。但是,使用这些代码时,会出现一个星号,并且我提到的消息将被删除,但是:

1- 与无序列表符号一样的符号显示在标签的顶部。
2-文本和布尔字段有问题。
3-基于文本字段,它无法识别,我必须放置一个char字段。
4-它既位于标签旁边,也位于星空旁边。
5-我希望用户名自动从用户名中获取,并且无法更改。但是,如果删除了类的第六行,则会出现一个下拉菜单,用户可以选择一个名称,如果不删除,则不会提交表单。 (在这种情况下,我尝试了其他代码,但没有奏效。它们也被评论)。

views.py:

def create_product(request):
    form = ProductForm(request.POST, request.FILES)
    if request.method == 'POST':
        user = request.user
        if user.is_authenticated:
            if form.is_valid():
                form.save()
                return redirect('index')
        else:
                form = ProductForm()
    return render(request, 'auctions/create_product.html', {'form': form})

html格式:

{% 端块 %}

forms.py:

from django import forms 
from .models import *
from django.forms import ModelForm, Textarea, CharField, DecimalField, ImageField, BooleanField



class ProductForm(forms.ModelForm):
     #user = forms.CharField(widget=forms.HiddenInput())

    #def __init__(self, args, kwargs):
       #super().__init__(args, **kwargs)
       #self.fields['user'].widget.attrs['readonly'] = True   


    required_css_class = 'required'
    **user = forms.CharField(disabled=True, required=True, error_messages={'required':''})**
    title = forms.CharField(required=True, error_messages={'required':''})
    category = forms.CharField(required=False, error_messages={'required':''})
    seller_price = forms.DecimalField(required=True, error_messages={'required':''})
    #desc = forms.CharField(required=True, error_messages={'required':''})
    #status = forms.BooleanField(required=True, error_messages={'required':''})
    image = forms.ImageField(required=True, error_messages={'required':''})
    image_url = forms.CharField(required=False)

    class Meta:
        model = Product
        fields = ['user', 'title', 'category', 'seller_price', 'desc', 'status', 'image', 'image_url']
        #widget = {'title':Textarea(attrs={'cols':5}), 'category':Textarea(attrs={'col':2}), 'desc':Textarea(attrs={'col':2})}

样式.css:

#cform or required:after(It doesn't work at all and it doesn't matter which one I put) { 
content: '*'; 
}
    

最佳回答

暂无回答