目标:

register_handle去掉

与register合并在一个视图函数中

分支逻辑

如果,是get请求,表求在请求得到一个页面的信息

如果是post请求,就表示是在提交数据

》做法

代码移过去就好

dj鲜生-11-优化url-合并视图函数_提交数据

把register_handle的代码,复制到register中

注意他们的分支就好

register的分支逻辑

dj鲜生-11-优化url-合并视图函数_get请求_02

get代代转移

dj鲜生-11-优化url-合并视图函数_dj鲜生_03

post请求转移

dj鲜生-11-优化url-合并视图函数_dj鲜生_04

接着把pass的位置,替换为register_handle视图函数中的代码

》到此,register_handle函数的代码就可以注释掉了

注意,不要随便删代码,在确保一切都OK的情况下

先注释,一段时间都没有问题 以后,再删除

这样子更加安全一些

dj鲜生-11-优化url-合并视图函数_post请求_05

修改模板中form的提交去向

dj鲜生-11-优化url-合并视图函数_提交数据_06

删掉多出的路由

dj鲜生-11-优化url-合并视图函数_post请求_07

删除后

dj鲜生-11-优化url-合并视图函数_提交数据_08
一切正常了

dj鲜生-11-优化url-合并视图函数_提交数据_09

测试一波

随便输入

dj鲜生-11-优化url-合并视图函数_get请求_10

跳转正常

dj鲜生-11-优化url-合并视图函数_post请求_11

总结

通过请求方式对处理进行区分

如果是get请求,返回页面

如果是post请求,就走注册的相关逻辑

request.method,可以得到请求的方式,要么"GET", 要么是"POST"