为什么Django不将summit数据提交给dabase,而是将结果显示为bros上的url

2024-09-28 03:25:22 发布

您现在位置:Python中文网/ 问答频道 /正文

当我从模板中得到我的Django表单时,我得到的结果如下

http://127.0.0.1:8000/Search_match_distributors/?csrfmiddlewaretoken=3rDq624irqw2L0WDQCvzFHM5pAux3ep9cXWTeKQ4WlNyd5JWJxQrHVfBOLAPMHI1&CompanyRegisteredName=unine&CompanyRegisteredState=weqeqqw&CompanyRegisteredAddress=qewq&CompanyRegisteredCity=qwqw&CompanyEmail=qweq%40yahoo.com&Country=Belize&RegisteredCompanyType=corperation&title=SeaFood&YouOwnBusiness=Yes&AreaCode=%2B375&WorkPhone=121212&TypeOfDistributorPrefered=IntensiveDistributors

要保存在保存程序中的数据将显示在浏览器上。以url的形式(上面的url)

有人知道为什么会这样吗。我在views.py、form.py、model.py和url.py中的代码没有错误

模板

<form action="" methond="POST" enctype="multipart/form-data">{% csrf_token %}

<ul>
    {% for dis in distributor %}

            {{dis.errors }}
            {% endfor %}
    <li class="label">CompanyName</li>
    <li>{{distributor.CompanyRegisteredName}}</li>
    <li class="label">StateOfRegistry</li>
    <li>{{distributor.CompanyRegisteredState}}</li>
    <li class="label">AddressOfCompany</li>
    <li>{{distributor.CompanyRegisteredAddress}}</li>
    <li class="label">CityOfRegistry</li>
    <li>{{distributor.CompanyRegisteredCity}}</li>
    <li class="label">CompanyEmail</li>
    <li>{{distributor.CompanyEmail}}</li>
    <li class="label">Country</li>
    <li>{{distributor.Country}}</li>
    <li class="label">TypeOfCompany</li>
    <li>{{distributor.RegisteredCompanyType}}</li>
    <li class="label">DistributorType</li>
    <li>{{distributor.title}}</li>
    <li class="label">CompanyWebsite?<span class="note">If yes chosen,companyweblink  ask in next</span></li>
    <li>{{distributor.YouOwnBusiness}}</li>

    <li class="label">WorkPhone</li>
    <li>{{distributor.AreaCode}}{{distributor.WorkPhone}}</li>


       <h4> Products You Distribute</h4>
  {% for checkbox in distributor.ManufacturerOfInterest %}  <li class="lab">{{checkbox.tag}}</li><li><div class="lab">{{checkbox.choice_label}}</div></li>  
        {% endfor %}
    </ul>
    <button type="submit">Create</button>
</form>

这是我的观点

@transaction.atomic
def SetUpDistributor(request):
    template_name="gbiz1990/User_function_pages/distributors.html"
    if not request.user.is_authenticated:
        return redirect('gbiz1990:home')
    if request.method =='POST':

        distributor = DistributionProfileForm(request.POST or None,request.FILES or None)
        if distributor.is_valid():
            instance =distributor.save(commit=False)
            instance.user=request.user
            instance.save()
            messages.success(request,'Distributor profile created ')
            return redirect('gbiz1990:home')
        else:
            messages.error(request,'Something went wrong')
    else:
        distributor=DistributionProfileForm()


        # if distributor profile created ,list to display avialable distributors
    page_title="Distributors"
    # this searches for objects created by the user
    user_info=DistributionProfile.objects.filter(user=request.user)
      # to display all avaialable manufacturers 
    manufacturers = ManufacturerProfile.objects.all()
      info=locals()
      return render(request,template_name,{'manufacturers':manufacturers,
              'pro':user_info,'distributor':distributor})

我的表格.py

class   DistributionProfileForm(forms.ModelForm):
    class Meta:
        model= DistributionProfile


        exclude=['CompanyWebsiteLink','logo','slug','user','CreatedTime','verified','promot','UpdatedTime']
        widgets ={
             'title':forms.Select(attrs={'class':'select'}),
             'CompanyRegisteredName':forms.TextInput(attrs={'class':'distributorform','placeholder':'Name of your company','autofocus':'True'}),
             'CompanyRegisteredState':forms.TextInput(attrs={'class':'distributorform','placeholder':' located State'}),
             'CompanyRegisteredAddress':forms.TextInput(attrs={'class':'distributorform','placeholder':'Company Address'}),
             'CompanyRegisteredCity':forms.TextInput(attrs={'class':'distributorform','placeholder':'Located city'}),
             'RegisteredCompanyType':forms.Select(attrs={'class':'distributorform '}),
             'Country':forms.Select(attrs={'class':'distributorform'}),
             'ManufacturerOfInterest ':forms.CheckboxSelectMultiple(attrs={'class':'selection'}),
             'logo':forms.FileInput(attrs={'class':'upload'}),
             'WorkPhone':forms.NumberInput(attrs={'class':'number'}),
             'AreaCode':forms.Select(attrs={'class':'code'}),
             'CompanyEmail':forms.EmailInput    (attrs={'class':'distributorform','placeholder':'yourcompany@company.com'}),
             'YouOwnBusiness':forms.Select(attrs={'id':'inputthirteen','class':'select'}),
        }
        fields=['CompanyRegisteredName',
                'CompanyRegisteredState',
                'CompanyRegisteredAddress',
                'CompanyRegisteredCity', 
                'RegisteredCompanyType',
                'Country','title','WorkPhone','AreaCode',
                'ManufacturerOfInterest',
                'CompanyEmail','YouOwnBusiness',

                ] 

Tags: pytitlerequestformsliselectcountryattrs
2条回答

谢谢大家。拼写错误,在我的模板方法中不是methond

您的模板的form元素中有一个输入错误:您有methond,而不是method

相关问题 更多 >

    热门问题