django - 从Django视图传递参数到表单不起作用
问题描述
我一直在尝试将参数从我的 createview 传递给表单,但表单中没有收到该参数。我不知道出了什么问题。
这是我的看法,
class ItemCreateView(LoginRequiredMixin,CreateView):
form_class = ItemForm
template_name = 'form.html'
def get_form_kwargs(self):
kwargs = super(ItemCreateView, self).get_form_kwargs()
kwargs['user'] = self.request.user # pass the 'user' in kwargs
return kwargs
def get_context_data(self,**kwargs):
context = super(ItemCreateView,self).get_context_data(**kwargs)
context['title'] = 'Add Items'
return context
def form_valid(self,form):
instance = form.save(commit = False)
instance.user = self.request.user
instance.save()
return super(ItemCreateView, self).form_valid(form)
以下是我的表单类:
from django import forms
from .models import Item
from restaurants.models import RestaurantLocation
class ItemForm(forms.ModelForm):
class Meta:
model = Item
fields=[
'name',
'restaurant',
'contents',
'excludes',
'public'
]
def __init__(self, *args, **kwargs):
user = kwargs.pop('user', None)
print(user)
super(ItemForm,self).__init__(*args,**kwargs)
self.fields['restaurant'].queryset = RestaurantLocation.objects.filter(owner=user)
解决方案
推荐阅读
- android - 从外部存储中获取图像时,使用相机拍摄的图像未显示在预览中
- qt - QLabel 的显存使用和 QWidget::hide() 的效果
- javascript - 从javascript中的表中删除一个按钮
- python - 将数据分组到 30 分钟的 bin 中
- spring-data-rest - 使用 Spring Data Rest 手动将 JSON 转换为 Object
- python - 正则表达式查找带有数字和字母的单词(哈希)
- ios - 是否可以使用 ARKit 创建 3D 人脸模型
- javascript - React 如何更新他的状态?
- angularjs - 如何迭代 ng-if div 标签下的元素?
- skype-for-business - UCWA API for Skype for Business 的更好错误消息