【发布时间】:2021-08-28 00:11:18
【问题描述】:
晚安社区,
我正在构建我的第一个网站,但遇到了以下问题。我有一个表格,其中包含由用户填写的不同字段。其中一个字段是我不希望用户完成的用户字段。因此,我想通过视图从后端完成。我尝试了不同的方法,但我无法做到,有什么提示或建议吗?
下面是我的代码:
模型.py:
class CompanyForm(ModelForm):
class Meta:
model = Company
fields = ('company_name', 'outstanding_shares', 'share_price', 'revenue', 'expenses', 'total_assets','total_liabilities', 'current_assets','current_liabilities', 'operating_cashflows', 'capex')
widgets = {
'company_name': forms.TextInput(attrs={'class': 'form-control', 'placeholder' : 'Company name'}),
'outstanding_shares': forms.NumberInput(attrs={'class': 'form-control', 'placeholder' : 'Shares outstanding'}),
'share_price':forms.NumberInput(attrs={'class': 'form-control', 'placeholder' : 'Share price'}),
'revenue':forms.NumberInput(attrs={'class': 'form-control', 'placeholder' : 'Revenue'}),
'expenses':forms.NumberInput(attrs={'class': 'form-control', 'placeholder' : 'Expenses'}),
'total_assets':forms.NumberInput(attrs={'class': 'form-control', 'placeholder' : 'Total Assets'}),
'total_liabilities':forms.NumberInput(attrs={'class': 'form-control', 'placeholder' : 'Total Liabilities'}),
'current_assets' :forms.NumberInput(attrs={'class': 'form-control', 'placeholder' : 'Current Assets'}),
'current_liabilities':forms.NumberInput(attrs={'class': 'form-control', 'placeholder' : 'Current Liabilities'}),
'operating_cashflows':forms.NumberInput(attrs={'class': 'form-control', 'placeholder' : 'Operating Cashflows'}),
'capex':forms.NumberInput(attrs={'class': 'form-control', 'placeholder' : 'Capital Expenditure'}),
}
Views.py:
def create_comp(request):
form = CompanyForm()
if request.method == 'POST':
print(request.POST)
form = CompanyForm(request.POST)
user = request.user
if form.is_valid():
User = user
form.save()
return HttpResponseRedirect('http://127.0.0.1:8000/companies_list/')
当我创建模型并在数据库上检查它时,未分配用户。
【问题讨论】:
标签: django-models django-views django-forms django-templates