如何向类模板视图添加方法

时间:2021-01-02 17:59:07

标签: python-3.x django-views django-forms django-templates django-3.1

大家新年快乐...我是 django 的新手,我正在做一个项目 简历页面 我需要联系我部分的帮助,我想做一些我在视频 https://www.youtube.com/watch?v=w4ilq6Zk-08 中看到的事情。我以前学的书只用class来查看模板。下面是我的代码

from django.views.generic import TemplateView
from django.shortcuts import render
# Create your views here.
class ProfilePageView(TemplateView):
    template_name = 'femi_profile.html'

    def contact(request):
        if request.method == "POST":
            name = request.POST['name']
            email = request.POST['email']
            subject = request.POST['subject']
            message = request.POST['message']

            return render(request, 'femi_profile.html', {'contact_name': name})

        else:
            return render(request, 'femi_profile.html', {})

1 个答案:

答案 0 :(得分:0)

在再次阅读 django 文档 https://docs.djangoproject.com/en/3.1/topics/class-based-views/intro/ 并尝试不同的代码行后,我终于运行了,我不是问它为什么运行?我想出了如何解决这个问题。

在下面找到正确的代码

from django.views.generic import TemplateView
from django.shortcuts import render
# Create your views here.

class ProfilePageView(TemplateView):
    template_name = 'femi_profile.html'

    def get(self, request, *args, **kwargs):
        return render(request, self.template_name, {})

    def post(self, request, *args, **kwargs):
        if request.method == "POST":
            name = request.POST['name']
            email = request.POST['email']
            subject = request.POST['subject']
            message = request.POST['message']

            return render(request, self.template_name, {'contact_name': name})
相关问题