我是励志哥

影视项目报错情况及处理

报错情况: AttributeError: 'function' object has no attribute 'route'

问题:

  路由完全正确,当只有一个名为home的函数处理这个路由时候,下一个路由处理函数,总是提示没有这个rotue属性

 

D:\Virtualenvs\movie_pro\Scripts\python.exe D:/pytharm/python项目/movie_pro/manage.py
Traceback (most recent call last):
  File "D:/pytharm/python项目/movie_pro/manage.py", line 1, in <module>
    from app import app
  File "D:\pytharm\python项目\movie_pro\app\__init__.py", line 7, in <module>
    from app.home import home as home_blueprint
  File "D:\pytharm\python项目\movie_pro\app\home\__init__.py", line 5, in <module>
    import app.home.views
  File "D:\pytharm\python项目\movie_pro\app\home\views.py", line 17, in <module>
    @home.route('/login/')

 

问题原因:

  本质是home函数名和@home装饰器有冲突,当取和装饰器或者对应的app一样的名字时候,只能对应一个home函数生效,后面的路由函数都将报错处理

解决问题:

  由于函数名和路由装饰器名相同引起的错误,当把函数名和装饰路由相同的名字替换成其他名字,一定要娶和路由装饰器一样的名字需要在前面加个下划线,进行区分

from . import home
from flask import render_template, redirect, url_for
from flask import Flask
#
# app = Flask(__name__)
# 业务主页
@home.route('/')
def index():
    return render_template("home/index.html")

# 影视主页
@home.route('/home/')
def _home():
    return render_template("home/index1.html")

 

 

 

posted @ 2019-11-15 16:39  python黑客编程  阅读(248)  评论(0编辑  收藏  举报