首页 > 解决方案 > Django 通用视图(搜索和发布表单)

问题描述

如何搜索运动员,然后在 Django 通用视图中付款

我应该如何在表格中找到运动员,然后为当前运动员付款。任何人都可以帮助我,这将是apreciat ...

#forms.py
class AthleteForm(forms.ModelForm):
    class Meta:
        model = Athlete
        fields = '__all__'
        exclude = ['user', 'verified_badge']

我尝试了这段代码,它找到了运动员,但我不知道如何用它来实现表单..

#views.py
class SearchResultsListView(ListView):
    model = Athlete
    context_object_name = 'athlete_list'
    template_name = 'athletes/add-fee.html'

    def get_queryset(self):  # new
        query = self.request.GET.get('q', None)
        return Athlete.objects.filter(
            Q(membership_num__iexact=query)
        )



class FeeCreate(LoginRequiredMixin, CreateView):
    form_class = FeeCreateForm
    model = Fee
    template_name = 'athletes/add-fee.html'

    def form_valid(self, form):
        form.instance.user = self.request.user
        form.instance.athlete_id = self.kwargs['pk']
        return super().form_valid(form)

    def get_success_url(self):
        return reverse('athletes:detail', kwargs={'pk': self.kwargs['pk']})

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['athlete'] = get_object_or_404(Athlete, pk=self.kwargs['pk'])
        return context

更多细节:首先我想通过会员ID搜索,然后它应该使用相关的帖子表单呈现个人信息,最后我输入金额并将其保存为当前人。

这是模板(现在是静态的) 任何人都可以动态地做到这一点

标签: djangodjango-modelsdjango-viewsdjango-formsdjango-templates

解决方案


推荐阅读