汴京城下君 2023-04-23 12:37 采纳率: 81.8%
浏览 356
已结题

python中flask与html连接出错在服务器上找不到请求的 URL。如果您手动输入了 URL,请检查您的拼写,然后重试。

问题在与change.html连接问题(修改),后面(删除)的html文件还没敲出来
其中Python的代码如下:

from flask import Flask, render_template,request
from date import salary_list
app = Flask(__name__)


@app.route("/")  #"/t"  网站后面/t后缀的网页
def index():
    # 返回网页文件
    return render_template('index.html')



@app.route("/login",methods=['POST'])
def hello_login():
    # 登录到服务器 获取用户名与密码,进行校验,再记录信息,在返回后台页面
    # print(request.form)
    username = request.form.get('username')
    password = request.form.get('password')
    print(username,password)
    return render_template('admin.html',salary_list=salary_list)


@app.route("/delete/<name>")
def hello_delete(name):
    # 删除逻辑 先找到学员
    for salary in salary_list:
        if salary['name'] == name:
            salary_list.remove(salary)
            break
    return render_template('admin.html'
                           ,salary_list=salary_list)

@app.route("/change/<name>")
def hello_change(name):
    # 修改逻辑 先找到学员
    for salary in salary_list:
        if salary['name'] == name:
           return render_template('change.html',
                                  user=salary)
    return render_template('admin.html'
                           ,salary_list=salary_list)

if __name__ == '__main__':
    app.run(debug=True)

change.html代码如下:


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>应用</title>
    <!--调用static中layui中的css文件-->
    <link rel="stylesheet" href="/static/css/layui.css">

</head>
<body>
<div style="width:500px; heigh:400px;margin:100px auto;">
    <form class="layui-form" action="/login" method="POST">
  <div class="layui-form-item">
    <label class="layui-form-label">用户名</label>
    <div class="layui-input-block">
      <input type="text" name="username" required  lay-verify="required" placeholder="请输入用户名" autocomplete="off" class="layui-input"
      style="width:300px;heigh:100px auto ">
    </div>
      <div class="layui-form-item">
    <label class="layui-form-label">部门</label>
    <div class="layui-input-block">
      <input type="text" name="department" required  lay-verify="required" placeholder="请输入部门" autocomplete="off" class="layui-input"
      style="width:300px;heigh:100px auto ">
    </div>
          <div class="layui-form-item">
    <label class="layui-form-label">职位</label>
    <div class="layui-input-block">
      <input type="text" name="position" required  lay-verify="required" placeholder="请输入职位" autocomplete="off" class="layui-input"
      style="width:300px;heigh:100px auto ">
    </div>
  </div>
  <div class="layui-form-item">
    <label class="layui-form-label">薪水</label>
    <div class="layui-input-inline">
      <input type="password" name="salary" required lay-verify="required" placeholder="请输入薪水" autocomplete="off" class="layui-input"
      style="width:300px;heigh:100px auto">
    </div>

  <div class="layui-form-item">
    <div class="layui-input-block">
      <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
      <button type="reset" class="layui-btn layui-btn-primary">重置</button>
    </div>
  </div>
</form>
</div>

<script src="/static/layui.js"></script>
<script>
//Demo
layui.use('form', function(){
  var form = layui.form;
/*
  //监听提交
  form.on('submit(formDemo)', function(data){
    layer.msg(JSON.stringify(data.field));
    //可以提交至服务器
    return false;
  });*/

});
</script>

</body>
</html>

admin.html文件以及报错图片:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>应用</title>
    <!--调用static中layui中的css文件-->
    <link rel="stylesheet" href="/static/css/layui.css">

</head>
<body>
<div style="width:800px;height:400px;margin:20px auto">
<table lay-filter="demo">
  <thead>
    <tr>
      <th lay-data="{field:'username'}">姓名</th>
      <th lay-data="{field:'department'}">部门</th>
      <th lay-data="{field:'position'}">职位</th>
      <th lay-data="{field:'salary'}">薪水</th>
      <th lay-data="{field:'option'}">操作</th>
    </tr>
  </thead>
  <tbody>
      {# 下面这个可以直接写Python代码  用jinja2模板 #}
  {% for sal in salary_list %}
    <tr>
      <td>{{sal.name}}</td>
      <td>{{sal.department}}</td>
      <td>{{sal.position}}</td>
      <td>{{sal.salary}}</td>
      <td>
        {# 点击修改,进入新的页面#}
        <a href="/change" class="layui-btn layui-btn-sm">删除</a>
        <a href="/delete" class="layui-btn layui-btn-sm layui-btn-danger ">修改</a>
      </td>
    </tr>
  {% endfor %}

  </tbody>
</table>
</div>
<script src="/static/layui.js"></script>
<script>
//Demo
layui.use('form', function(){
  var table = layui.table;

//转换静态表格
   table.init('demo',{
   height: 315 //设置高度
  ,limit: 100 //注意:请务必确保 limit 参数(默认:10)是与你服务端限定的数据条数一致
  ,escape:false
  //支持所有基础参数
});
});
</script>
</body>
</html>

报错网页如下:

img

  • 写回答

2条回答 默认 最新

  • ash062 2023-04-23 14:23
    关注

    注意date.py文件salary_list中字典键名有的为'name'有的为'name ‘(后面多一个空格,这些无法识别)

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月30日
  • 修改了问题 4月23日
  • 创建了问题 4月23日

悬赏问题

  • ¥15 关于logstash转发日志时发生的部分内容丢失问题
  • ¥17 pro*C预编译“闪回查询”报错SCN不能识别
  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?