127.0.0.1 将您重定向的次数过多

来源:7-3 .标签管理2

szuxxy

2017-08-22

cookie已经清除,直接5000不带admin则不会,跑admin的时候会这样:

http://szimg.mukewang.com/599be3450001197e11210785.jpg


views.py的login代码如下:

from . import admin
from flask import Flask, render_template, url_for, redirect, flash, session, request
from app.admin.forms import LoginForm, TagForm
from app.models import Admin, Tag
# 登录装饰器用的到
from functools import wraps
from app import db, app

# _*_ coding:utf-8 _*_
__author__ = 'Ando'
__date__ = '8/2/2017 11:59 PM'


# 登录装饰器
def admin_login_req(f):
   @wraps(f)
   def decorated_function(*args, **kwargs):
       if "admin" not in session:
           return redirect(url_for("admin.login", next=request.url))
       return f(*args, **kwargs)

   return decorated_function


# 主页
@admin.route("/")
@admin_login_req
def index():
   return render_template("admin/index.html")


# 登录
@admin.route("/login/", methods=["GET", "POST"])
@admin_login_req
def login():
   form = LoginForm()
   if form.validate_on_submit():
       data = form.data
       admin = Admin.query.filter_by(name=data["account"]).first()
       if not admin.check_pwd(data["pwd"]):
           flash("密码错误!", 'err')
           return redirect(url_for("admin.login"))
       session["admin"] = data["account"]
       return redirect(request.args.get("next") or url_for("admin.index"))
   return render_template("admin/login.html", form=form)



写回答

3回答

Syste_M

2017-08-22

login视图不需要登录装饰器

1
0

rustgopy

2017-08-22

admin_login_req这里面是如何定义的?

0
5
szuxxy
辛苦老师,是多写了装饰器了。
2017-08-22
共5条回复

rustgopy

2017-08-22

同学,你好,你把报错的代码截图给我。

0
1
szuxxy
老师,代码放上去了.
2017-08-22
共1条回复

Python Flask 构建微电影视频网站

Python 最好用轻量级框架,让你轻松胜任 Python Web 工程师

683 学习 · 663 问题

查看课程