django使用类做业务逻辑

在django中一般定义一个带有request参数的函数用来处理url,但是更推荐用类做

从django.views.generic.base 导入的views有get,post等各种函数,用来处理对应的提交方式。

from django.views.generic.base import View
class LoginView(View):
    def get(self, request):
        return render(request, ‘login.html‘)

    def post(self, request):
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            user_name = request.POST.get(‘username‘, ‘‘)
            password = request.POST.get(‘password‘, ‘‘)
            # 上面的 authenticate 方法 return user
            user = authenticate(username=user_name, password=password)

            if user is not None:
                if user.is_active:
                    login(request, user)
                    return HttpResponsePermanentRedirect(reverse(‘index‘))
                return render(request, ‘login.html‘, {‘msg‘: ‘用户未激活!‘})
            return render(request, ‘login.html‘, {‘msg‘: ‘用户名或者密码错误!‘})

        return render(request, ‘login.html‘, {‘form_errors‘: login_form.errors})

其实就是吧get,post封装到类中,可以直接调用不需要用request.method判断了。

时间: 2024-10-16 21:42:53

django使用类做业务逻辑的相关文章

细说业务逻辑(二)

3.业务逻辑的架构模式及实现 Martin Fowler在<Patterns of Enterprise Application Architecture>一书中,总结了四种企业应用中业务逻辑的组织方式 :Transcation Script,Domain Model,Table Module及Service Layer,另外,本书的第十章“Data Source Architecture Patterns”中包含一种模式——Active Record.结合软件体系结构的近期发展及个人的理解,

java 业务逻辑理解

细说业务逻辑 2016年10月14日 07:16:28 阅读数:2295 细说业务逻辑   前言 记得几个月前,在一次北京博客园俱乐部的活动上,最后一个环节是话题自由讨论.就是提几个话题,然后大家各自加入感兴趣的话题小组,进行自由讨论.当时金色海洋同学提出了一个话题--"什么是业务逻辑".当时我和大家讨论ASP.NET MVC的相关话题去了,就没能加入"业务逻辑"组的讨论,比较遗憾. 其实,一段时间内,我脑子里对"业务逻辑"的概念也是非常模糊的.

父类提供业务逻辑,子类做具体实现

public class Test { public static void main(String[]args) throws Exception{ Children c = new Children(); c.show(); } } class Parent  { public void show(){ stepOne(); stepTwo(); } void stepOne(){ System.out.println("parent.stepOne()"); } void ste

Django 通用类视图

引文 所有的类视图都继承django.views.generic.base.View类. 在URLconf中简单的使用通用视图 如果只是简单的做一些属性修改,可以使用as_view()方法,如下所示: from django.urls import path from django.views.generic import TemplateView urlpatterns = [ path('about/', TemplateView.as_view(template_name="about.h

django--BBS项目,后端业务逻辑整理

经典的生活价值观 别让人生,输给了心情.心情不是人生的全部,却能左右人生的全部.心情好,什么都好,心情不好,一切都乱了.我们常常不是输给了别人,而是坏心情贬低了我们的形象,降低了我们的能力,扰乱了我们的思维,从而输给了自己. 控制好心情,生活才会处处祥和.好的心态塑造好心情,好心情塑造最出色的你. 静静的过自己的生活,心若不动,风又奈何.你若不伤,岁月无恙. BBS 项目开发逻辑梳理 第一步:先进行数据库设计 数据库设计规则是: 1.先创建基表:用户表.站点表.文章表.标签表.分类表.文章2标签

机房合作---业务逻辑在哪里?

前言:学习过程中,不要因为有遗留的问题而感到惭愧,在之后项目中,只要用心,就能解决遗留的问题. 谨以此文,记录我重新对UI.外观.BLL层中是否该有逻辑判断的一个思考推理过程. 验收机房重构的时候,我的UI层.外观层.BLL层代码是这样子写的:(以登录这条线为例) 先看BLL层: Public Class LoginManager '检查用户名是否存在 Public Function IsUserExists(ByVal user As Entity.UserInfo) As Boolean D

项目架构开发:业务逻辑层之领域驱动失血模型

前边我们构建了个数据访问层,功能虽然简单,但是基本够用了.传送门:项目架构开发:数据访问层 这次我们构建业务逻辑层 业务逻辑是一个项目.产品的核心,也是现实世界某种工作流程在代码层面的体现. 所以,业务逻辑的合理组织构造,或更真实地反映现实业务操作,对项目的成功与否非常重要 现在业界对业务逻辑层的开发,一般会参考Martin Fowler大师提出来的针对业务层开发的四种模式 分别是面向过程的事务脚本.表模块模式,面向对象的活动记录与领域开发模式 我们要做的就是领域驱动开发模式,注意标题中的“失血

如何避免在简单业务逻辑上面的细节上面出错

很多时候对于新的开发人员最容易犯得错误就是细节问题.对于如何在业务逻辑上面的细节上面出错,有很多要考虑的地方,但是如何保证不出错呢?需要把每一个考虑到的点都能列出来.然后按照列出来的点来考虑和编程可能对于细节出错上面有很大的帮助.然后是总结有那几种不同形式的业务逻辑,然后那些事通用的,那些是需要考虑的. 我这边只是单纯列出几点需要考虑的.1.字段是否可为空. 2.字段长度. 3.字段可以输入的格式是什么,只能是数字还是说别的. 4.字段之间有没有关联,直接是否存在关系. 5.操作会造成什么影响,

系统架构师-基础到企业应用架构-业务逻辑层

一.上章回顾 上章我们主要讲述了系统设计规范与原则中的具体原则与规范及如何实现满足规范的设计,我们也讲述了通过分离功能点的方式来实现,而在软件开发过程中的具 体实现方式简单的分为面向过程与面向对象的开发方式,而目前更多的是面向对象的开发设计方式.并且我们也讲述了该如何通过设计手段去分析功能点及设计分离 点,应该如何在设计的过程中分析的角度及如何去满足设计规范与原则.首先我们通过下图来回顾下上章要点: 二.摘要 本文将已架构的方式去分析分层结构中的业务层的设计,如何写出来内聚度,高耦合的业务逻辑层