基于方法的类视图,是根据不同的mothod,调取不同的方法。mothod可以支持 post、get、put、delete
可以让代码更加简洁,不同的mothod可以放置到不同的方法里面
示例代码如下:
<form action="" method="post"> <tbody> <tr> <td>用户名:</td> <td><input type="text" name="username"></td> </tr> <tr> <td>密码:</td> <td><input type="text" name="password"></td> </tr> <tr> <td></td> <td><input type="submit" name="登录"></td> </tr> </tbody> {% if error %} <p style="color: red">{{ error }}</p> {% endif %} </form>
#类视图写的顺序一定是在 app.add_url_rule上面 #类视图实现,基于调度返回,示例代码如下 # class LoginView(views.MethodView): # def get(self): # return render_template('login.html') # # def post(self): # username = request.form.get('username') # password = request.form.get('password') # if username =='hebi12' and password =='123ss': # return '登录成功' # else: # return render_template('login.html',erro='用户名或密码错误')
###也可以单独将login定义成私有方法 ##实现代码如下 class LoginView(views.MethodView): def __render(self,error=None):#定义一个私有方法 return render_template('login.html',error=error) def get(self): return self.__render() def post(self): username = request.form.get('username') password = request.form.get('password') if username =='hebi12' and password =='123ss': return '登录成功' else: return self.__render(error='用户名或密码错误') app.add_url_rule('/login/',view_func=LoginView.as_view('login'))