亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django 表單發布不起作用 - Django 只是再次渲染頁面

Django 表單發布不起作用 - Django 只是再次渲染頁面

慕森王 2023-08-08 10:27:50
基本上我已經建立了一個表格來創建組織。當我點擊“保存”按鈕時,它只是再次呈現頁面 - POST 不起作用。請參閱下面我的代碼:models.pyfrom django.db import modelsfrom accounts.models import Userfrom datetime import datetime, date#// ------------ FUNCTIONS -------------//# Generate Organisation IDs for each organisationdef org_id_generate():    last_org = Organization.objects.all().order_by('org_id').last()    if not last_org:        return 'ORG_001'    else:        last_org_id = last_org.org_id        number_in_id = int(last_org_id[4:7])        new_number_in_id = number_in_id + 1        new_org_id = 'ORG_' + str(new_number_in_id).zfill(3)        return new_org_id#// ------------ MODELS -------------//class Organization(models.Model):    org_id = models.CharField(primary_key=True, max_length=7, default=org_id_generate, editable=False)    organization_code = models.CharField(max_length=20)    company_name = models.CharField(verbose_name="Company Name", max_length=60)    legal_name = models.CharField(verbose_name="Legal Name", max_length=100)    industry_distribution = models.BooleanField(verbose_name="Distribution", default=False)    industry_education = models.BooleanField(verbose_name="Education", default=False)    industry_healthcare = models.BooleanField(verbose_name="Healthcare", default=False)    industry_manufacturing = models.BooleanField(verbose_name="Manufacturing", default=False)    industry_retail = models.BooleanField(verbose_name="Retail", default=False)    industry_services = models.BooleanField(verbose_name="Services", default=False)    business_registration_no = models.CharField(verbose_name="Business Registration Number", max_length=15, blank=True)    vat_registration_no = models.CharField(verbose_name="VAT Registration Number", max_length=15, blank=True)
查看完整描述

2 回答

?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

我沒有找到任何代碼來顯示 html 中的錯誤。根據views中的函數,如果表單無效,則使用表單渲染頁面。嘗試在html文件中添加{{form.errors}}看看是否有錯誤?



查看完整回答
反對 回復 2023-08-08
?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

我設法解決了它。


views.py


@login_required

def organization_add(request):

? ? if request.method == 'POST':

? ? ? ? form = OrganizationAddForm(request.POST)

? ? ? ? if form.is_valid():

? ? ? ? ? ? form.organization_code = form.cleaned_data['organization_code']

? ? ? ? ? ? form.company_name = form.cleaned_data['company_name']

? ? ? ? ? ? form.legal_name = form.cleaned_data['legal_name']

? ? ? ? ? ? form.business_registration_no = form.cleaned_data['business_registration_no']

? ? ? ? ? ? form.vat_registration_no = form.cleaned_data['vat_registration_no']

? ? ? ? ? ? form.industry_distribution = form.cleaned_data['industry_distribution']

? ? ? ? ? ? form.industry_education = form.cleaned_data['industry_education']

? ? ? ? ? ? form.industry_healthcare = form.cleaned_data['industry_healthcare']

? ? ? ? ? ? form.industry_manufacturing = form.cleaned_data['industry_manufacturing']

? ? ? ? ? ? form.industry_retail = form.cleaned_data['industry_retail']

? ? ? ? ? ? form.industry_services = form.cleaned_data['industry_services']

? ? ? ? ? ? form.effective_start_date = form.cleaned_data['effective_start_date']

? ? ? ? ? ? form.effective_end_date = form.cleaned_data['effective_end_date']

? ? ? ? ? ??

? ? ? ? ? ? org = form.save(commit=False)


? ? ? ? ? ? org.created_by = request.user

? ? ? ? ? ? org.last_updated_by = request.user


? ? ? ? ? ? org.save()

? ? ? ? ? ? return redirect('organizations_settings')


? ? else:

? ? ? ? form = OrganizationAddForm()


? ? return render(request, 'settings/add_organization.html', {'form': form})

問題是它無法捕獲“創建者”和“上次更新者”字段的用戶電子郵件。


這是通過使用以下方法解決的:


org = form.save(commit=False)


org.created_by = request.user

org.last_updated_by = request.user

查看完整回答
反對 回復 2023-08-08
  • 2 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號