如何在模板中设置who和的值?image
class CommentForm(ModelForm):
who = forms.CharField(widget=forms.HiddenInput())
image = forms.ImageField(widget=forms.HiddenInput())
class Meta:
model = Comments
fields = ['who', 'image', 'content']
Run Code Online (Sandbox Code Playgroud)
它不起作用(原始文本):
<form method='POST' action=''>
{% csrf_token %}
{% render_field comment_form.content class="form-control form-control-sm" placeholder='Comment..' %}
{% render_field comment_form.who class="form-control form-control-sm" value='{{ request.user.profile.pk }}' %}
{% render_field comment_form.image class="form-control form-control-sm" value='{{ image.pk }}' %}
<input class="btn btn-primary btn-sm" type="submit" value="Add comment">
</form>
Run Code Online (Sandbox Code Playgroud)
我的views.py:
class ProfileView(DetailView):
comment_form = CommentForm()
queryset = Profile.objects.all()
context_object_name = 'me'
template_name = 'profile.html'
def …Run Code Online (Sandbox Code Playgroud) 我想知道是否可以在没有密码确认(仅password1)的情况下使用UseCreationForm。我正在使用的代码:
#forms.py
class UserRegistrationForm(UserCreationForm):
email = forms.EmailField(max_length=200, help_text='Required')
class Meta:
model = User
fields = ('username', 'email', 'password1', 'password2')
#views.py
class HomeView(View):
template_name = 'home.html'
def get(self, request):
queryset = Profile.objects.filter(verified=True)
form = UserRegistrationForm()
context = {
'object_list': queryset,
'form':form,
'num_of_users': User.objects.all().count()
}
return render(request, self.template_name, context)
Run Code Online (Sandbox Code Playgroud)
问题是,当我这样创建form.py时:
class UserRegistrationForm(UserCreationForm):
email = forms.EmailField(max_length=200, help_text='Required')
class Meta:
model = User
fields = ('username', 'email', 'password1')
Run Code Online (Sandbox Code Playgroud)
表单还具有字段password2。有什么解决办法吗?
我对这段代码有一个问题:
PhoneNumberFormSet = inlineformset_factory(Person, PhoneNumber, fields=('phone_number',),
can_delete=False, extra=1)
EmailAddressFormSet = inlineformset_factory(Person, EmailAddress, fields=('email_address',),
can_delete=False, extra=1)
class PersonCreateView(CreateView):
form_class = PersonForm
success_url = reverse_lazy('person-list')
template_name = 'contacts/person_create.html'
def get_context_data(self, **kwargs):
data = super(PersonCreateView, self).get_context_data(**kwargs)
data['phone_formset'] = PhoneNumberFormSet(self.request.POST or None)
data['email_formset'] = EmailAddressFormSet(self.request.POST or None)
return data
def form_valid(self, form):
context = self.get_context_data()
phone_formset = context['phone_formset']
email_formset = context['email_formset']
with transaction.atomic():
o = form.save() # <--- this object is saved even when formsets below are not valid
condition = phone_formset.is_valid() and email_formset.is_valid() …Run Code Online (Sandbox Code Playgroud) 我想将一个列表作为参数传递给一个函数,该函数将该列表的每个元素乘以3。我必须使用递归(我知道该怎么做)和map函数(有问题)。
我正在尝试将列表作为参数传递,就像我在其他帖子中看到的那样,但是它不起作用。
fun x = 3 * x + 1
mult :: [Int] -> [Int]
mult [a] = map fun [a]
Run Code Online (Sandbox Code Playgroud)
我尝试的代码显示:异常:x:函数mult中的非穷举模式