LL-BObo 2024-06-12 02:37 采纳率: 42.9%
浏览 3

pycharm报错是为什么?

pycharm报错是为什么?
这是涉及的代码,跟着一步一步打的 应该没错

from flask import Flask,session,render_template,redirect,Blueprint,request
from utils.errorResponse import *
import time
from utils.query import query

from snownlp import SnowNLP
ub = Blueprint('user',__name__,url_prefix='/user',template_folder='templates')

@ub.route('/login')
def login():
    if request.method == 'GET':
        return render_template('login.html')

@ub.route('/register',methods=['GET','POST'])
def register():
    if request.method == 'POST':
        request.form = dict(request.form)
        if request.form['password'] != request.form['passwordCheked']:
            return '两次密码不符'
        else:
            def filter_fn(item):
                return request.form['username'] in item

            users = query('select * from user', [], 'select')
            filter_list = list(filter(filter_fn, users))
            if len(filter_list):
                return errorResponse('该用户名已被注册')
            else:
                time_tuple = time.localtime(time.time())
                query('insert into user(username,password,createTime) values(%s,%s,%s)',
                       [request.form['username'], request.form['password'],
                        str(time_tuple[0]) + '-' + str(time_tuple[1]) + '-' + str(time_tuple[2])])

        return redirect('/user/login', 301)

    else:
        return render_template('register.html')


from flask import render_template

def errorResponse(errorMsg):
    return render_template('error.html',errorMsg=errorMsg)


from pymysql import *

conn = connect(host='localhost',user='root',password='root',database='weiboarticles',port=3306)
cursor = conn.cursor()


def query(sql,params,type='no_select'):
    params = tuple(params)
    cursor.execute(sql,params)
    conn.ping(reconnect=True)
    if type != 'no_select':
        data_list = cursor.fetchall()
        conn.commit()
        return data_list
    else:
        conn.commit()
        return '数据库语句执行成功'

这是报错的信息

img

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-12 02:37
    关注

    引自免费微信小程序:皆我百晓生

    从你提供的信息来看,PyCharm 报出的错误主要集中在几个方面:未找到引用、未解析的引用、未使用的导入以及找不到模板文件。我们逐一分析并解决这些问题。

    1. 未找到引用和未解析的引用

    错误提示表明 errorResponsequery 函数在 _init_.py 文件中未能被找到。这通常意味着这些函数没有在正确的位置定义,或者没有正确地导入到当前模块中。

    解决方案:

    • 确保 errorResponsequery 函数都定义在可以被 user.py 文件访问的地方。

    • 如果这些函数定义在其他模块中,确保你已经正确地导入了这些模块。例如,如果 errorResponse 定义在一个名为 error_response.py 的模块中,你应该这样导入它:

      from .error_response import errorResponse
      
    • 同样地,如果 query 函数定义在 utils/query.py 中,应该这样导入:

      from .utils.query import query
      

    2. 未使用的导入

    PyCharm 报告了几个未使用的导入,包括 Flask, session, 和 from snownlp import SnowNLP。这可能是因为这些导入在当前文件中并没有被实际使用。

    解决方案:

    • 如果这些导入确实是不需要的,建议删除它们以减少代码的复杂性并提高可读性。

    3. 模板文件未找到

    错误提示显示找不到 'login.html' 这个模板文件。这意味着 PyCharm 在指定的模板文件夹中未能找到这个文件。

    解决方案:

    • 确保 'login.html' 文件存在于你所指定的 template_folder 目录中,即 user.py 中的 'templates' 文件夹。
    • 检查文件名是否拼写正确,并且文件确实位于正确的目录下。

    总结

    要解决这些问题,你需要检查和调整你的代码结构,确保所有必要的函数和模块都被正确地导入和定义,同时也要确认所有的模板文件都存在于正确的路径下。如果 errorResponsequery 函数不在当前文件夹下的 _init_.py 或其他任何文件中,你需要将它们放到一个适当的位置并相应地修改导入语句。

    此外,对于未使用的导入,如果确定不再需要,可以安全地删除它们,以保持代码的整洁。对于模板文件的问题,只需确保文件存在并且路径正确即可。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月12日

悬赏问题

  • ¥15 输入的char字符转为int类型,不是对应的ascall码,如何才能使之转换为对应ascall码?或者使输入的char字符可以正常与其他字符比较?
  • ¥15 devserver配置完 启动服务 无法访问static上的资源
  • ¥15 解决websocket跟c#客户端通信
  • ¥30 Python调用dll文件输出Nan重置dll状态
  • ¥15 浮动div的高度控制问题。
  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论
  • ¥15 keil5 target not created