├── README.md ├── __pycache__ ├── db.cpython-39.pyc └── config.cpython-39.pyc ├── config.py ├── user ├── __pycache__ │ └── user_manager.cpython-39.pyc └── user_manager.py ├── db.py ├── db └── pg.sql ├── main.py ├── templates ├── user_detail.html └── user_manager.html └── flask.log /README.md: -------------------------------------------------------------------------------- 1 | # my_flask_web 2 | -------------------------------------------------------------------------------- /__pycache__/db.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overmind1980/my_flask_web/main/__pycache__/db.cpython-39.pyc -------------------------------------------------------------------------------- /__pycache__/config.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overmind1980/my_flask_web/main/__pycache__/config.cpython-39.pyc -------------------------------------------------------------------------------- /config.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | app = Flask("flaskweb") 3 | app.secret_key = b"ASDSHQWFW@#$!123fffdasdfdasf1233$5674%^#Q@$" 4 | -------------------------------------------------------------------------------- /user/__pycache__/user_manager.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/overmind1980/my_flask_web/main/user/__pycache__/user_manager.cpython-39.pyc -------------------------------------------------------------------------------- /db.py: -------------------------------------------------------------------------------- 1 | from psycopg_pool import ConnectionPool 2 | 3 | conninfo = "postgres://postgres:oeasypg@localhost:5432/oeasydb" 4 | pool = ConnectionPool(conninfo) 5 | -------------------------------------------------------------------------------- /db/pg.sql: -------------------------------------------------------------------------------- 1 | ALTER USER postgres WITH PASSWORD 'oeasypg'; 2 | CREATE DATABASE oeasydb; 3 | \c oeasydb; 4 | CREATE TABLE IF NOT EXISTS test(id serial PRIMARY KEY, num integer, data text); 5 | INSERT INTO test(num, data) VALUES (123, 'abc'); 6 | INSERT INTO test(num, data) VALUES (456, 'ooo'); 7 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | from flask import Flask,render_template,request,redirect,session 2 | import traceback 3 | from db import pool 4 | from config import app 5 | from user.user_manager import app_user 6 | 7 | app.register_blueprint(app_user) 8 | 9 | @app.route('/') 10 | def hello(): 11 | return """user_manager""" 12 | 13 | if __name__ == "__main__": 14 | app.run(debug=True,host="0.0.0.0",port="3012") 15 | -------------------------------------------------------------------------------- /templates/user_detail.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Hello from Flask 5 | 6 | 7 |
8 |
9 | username:
10 | password:
11 | 12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /templates/user_manager.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 29 | 84 | user_manager 85 | 86 | 87 |
88 | username:
89 | password:
90 |
91 |
92 | 93 |
94 | 95 | 96 | 97 | {{page_size}} ---- 98 | 109 | 110 | 111 | select all 112 | select none 113 | 114 |
115 | select 116 | username({{user_order}}) 117 | delete 118 |
119 | {% for record in l %} 120 |
121 | 122 | 123 | 124 | 125 | {{ record[0] }} 126 | 127 | 128 | 129 | 130 |
131 | {% endfor %} 132 |
133 |
134 | {% for page in pages %} 135 | 140 | {{page}} 141 | 142 | {% endfor%} 143 |
144 | 145 | 146 | -------------------------------------------------------------------------------- /user/user_manager.py: -------------------------------------------------------------------------------- 1 | from flask import Flask,render_template,request,redirect,session,Blueprint 2 | from db import pool 3 | import psycopg 4 | import traceback 5 | from random import randint 6 | 7 | app_user = Blueprint("user", __name__) 8 | 9 | @app_user.route('/user/') 10 | def user(): 11 | with pool.connection() as conn: 12 | with conn.cursor() as cur: 13 | limit = 10 14 | offset = 0 15 | pages = list(range(0, 10)) 16 | sql = "SELECT * FROM login" \ 17 | + " ORDER BY username " \ 18 | + " LIMIT " + str(limit) \ 19 | + " OFFSET " + str(offset) 20 | cur.execute(sql) 21 | records = cur.fetchall() 22 | cur.close() 23 | conn.close() 24 | return render_template("user_manager.html", l = records, pages= pages) 25 | 26 | @app_user.route("/user/del", methods=['POST', 'GET']) 27 | def del_user(): 28 | username = request.form["d_un"] 29 | user_order = request.form.get("user_order") 30 | page = int(request.form.get("page")) 31 | first_page = int(page) 32 | page_size = request.form.get("page_size") 33 | print("uname===========",username) 34 | with pool.connection() as conn: 35 | with conn.cursor() as cur: 36 | try: 37 | sql = """DELETE FROM login WHERE username=%s""" 38 | print("sql=========",sql) 39 | t = (username,) 40 | cur.execute(sql,t) 41 | conn.commit() 42 | cur.close() 43 | conn.close() 44 | except Exception: 45 | print(traceback.print_exc()) 46 | cur.close() 47 | conn.close() 48 | return username + " deletion failed" 49 | else: 50 | return redirect("/user") 51 | 52 | @app_user.route("/user/dels", methods=['POST', 'GET']) 53 | def del_users(): 54 | users = request.form.getlist("users") 55 | user_order = request.form.get("user_order") 56 | page = int(request.form.get("page")) 57 | first_page = int(page) 58 | page_size = request.form.get("page_size") 59 | with pool.connection() as conn: 60 | with conn.cursor() as cur: 61 | try: 62 | sql = """DELETE FROM login WHERE username=%s""" 63 | for user in users: 64 | t = (user,) 65 | cur.execute(sql,t) 66 | conn.commit() 67 | cur.close() 68 | conn.close() 69 | except Exception: 70 | print(traceback.print_exc()) 71 | cur.close() 72 | conn.close() 73 | return username + " already exists" 74 | else: 75 | return redirect("/user") 76 | 77 | @app_user.route("/user/add", methods=['POST', 'GET']) 78 | def user_add(): 79 | username = request.form["username"] 80 | password = request.form["password"] 81 | print(username) 82 | conninfo = "postgres://postgres:oeasypg@localhost:5432/oeasydb" 83 | with psycopg.connect(conninfo) as conn: 84 | with conn.cursor() as cur: 85 | try: 86 | sql = "INSERT INTO login(username, password) VALUES(%s, %s)""" 87 | t = (username,password) 88 | cur.execute(sql,t) 89 | conn.commit() 90 | except Exception: 91 | print(traceback.print_exc()) 92 | return "add " + username + " failed!" 93 | else: 94 | return redirect("/user") 95 | 96 | 97 | def get_random_str(): 98 | s = "" 99 | for i in range(10): 100 | s += chr(randint(0x61,0x61+27)) 101 | return s 102 | 103 | @app_user.route("/user/add_users", methods=['POST', 'GET']) 104 | def add_users(): 105 | with pool.connection() as conn: 106 | with conn.cursor() as cur: 107 | try: 108 | for i in range(200): 109 | sql = "INSERT INTO login(username, password) VALUES(%s, %s)" 110 | username = get_random_str() 111 | password = get_random_str() 112 | l = [username, password] 113 | print("l==========", l) 114 | cur.execute(sql,l) 115 | conn.commit() 116 | cur.close() 117 | conn.close() 118 | redirect("/user") 119 | except Exception: 120 | print(traceback.print_exc()) 121 | cur.close() 122 | conn.close() 123 | return "add user failed!" 124 | else: 125 | return redirect("/user") 126 | 127 | @app_user.route("/user/prepareUpdate", methods=['POST', 'GET']) 128 | def prepare_update(): 129 | username = request.args.get("username") 130 | print("now in prepare update" + username) 131 | with pool.connection() as conn: 132 | with conn.cursor() as cur: 133 | try: 134 | sql = "SELECT * FROM login WHERE username=%s" 135 | t = (username,) 136 | detail = cur.execute(sql,t).fetchone() 137 | user = detail[0] 138 | password = detail[1] 139 | cur.close() 140 | conn.close() 141 | except Exception: 142 | print(traceback.print_exc()) 143 | cur.close() 144 | conn.close() 145 | return "failed to get " + username 146 | else: 147 | return render_template("user_detail.html", user = user, password = password) 148 | 149 | @app_user.route("/update", methods=['POST', 'GET']) 150 | def update(): 151 | old_username = request.form.get("old_username") 152 | username = request.form.get("username") 153 | password = request.form.get("password") 154 | with pool.connection() as conn: 155 | with conn.cursor() as cur: 156 | try: 157 | sql = """UPDATE login SET username=%s,password=%s where username=%s""" 158 | t = (username,password,old_username) 159 | cur.execute(sql,t) 160 | conn.commit() 161 | cur.close() 162 | conn.close() 163 | except Exception: 164 | print(traceback.print_exc()) 165 | cur.close() 166 | conn.close() 167 | return "update " + username + "failed!" 168 | else: 169 | return redirect("/user") 170 | 171 | @app_user.route("/user/search", methods=['POST', 'GET']) 172 | def search(): 173 | username = request.form.get("s_usr") 174 | user_order = request.form.get("user_order") 175 | page = int(request.form.get("page")) 176 | first_page = int(page) 177 | page_size = request.form.get("page_size") 178 | print(page_size,"-------------") 179 | if page_size == None or page_size == "": 180 | page_size = "10" 181 | username_pattern = "%" + username + "%" 182 | with pool.connection() as conn: 183 | with conn.cursor() as cur: 184 | try: 185 | sql = "SELECT count(*) FROM login WHERE username LIKE %s" 186 | t = (username_pattern,) 187 | cur.execute(sql,t) 188 | count = cur.fetchone() 189 | count = int(count[0]) 190 | print("count====",count) 191 | if count <= 100: 192 | first_page = 0 193 | last_page = count // int(page_size) 194 | else: 195 | if page < 5: 196 | first_page = 0 197 | last_page = 10 198 | elif count//10 - page < 5: 199 | last_page = count//10 + 1 200 | first_page = last_page - 10 201 | else: 202 | first_page = page - 5 203 | last_page = page + 4 204 | sql = "SELECT * FROM login WHERE username LIKE %s ORDER BY username " + user_order + " LIMIT " + page_size + " OFFSET " + str(int(page) * 10) 205 | t = (username_pattern,) 206 | cur.execute(sql,t) 207 | records = cur.fetchall() 208 | cur.close() 209 | conn.close() 210 | except Exception: 211 | print(traceback.print_exc()) 212 | cur.close() 213 | conn.close() 214 | return username + " already exists" 215 | print(page,"====") 216 | return render_template("user_manager.html", l = records, s_user = username,user_order = user_order, pages=list(range(first_page, last_page)),current_page = page,page_size = page_size) 217 | -------------------------------------------------------------------------------- /flask.log: -------------------------------------------------------------------------------- 1 | * Serving Flask app 'flaskweb' 2 | * Debug mode: on 3 | WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. 4 | * Running on all addresses (0.0.0.0) 5 | * Running on http://127.0.0.1:3012 6 | * Running on http://10.0.16.3:3012 7 | Press CTRL+C to quit 8 | * Restarting with stat 9 | * Debugger is active! 10 | * Debugger PIN: 953-125-545 11 | * Detected change in '/var/apps/o2020201023012/my_flask_web/user/user_manager.py', reloading 12 | * Restarting with stat 13 | * Debugger is active! 14 | * Debugger PIN: 953-125-545 15 | discarding closed connection: 16 | 117.129.24.245 - - [26/May/2023 17:04:40] "POST /user/search HTTP/1.1" 200 - 17 | discarding closed connection: 18 | 117.129.24.245 - - [26/May/2023 17:04:41] "POST /user/search HTTP/1.1" 200 - 19 | discarding closed connection: 20 | 117.129.24.245 - - [26/May/2023 17:05:18] "POST /user/search HTTP/1.1" 200 - 21 | discarding closed connection: 22 | 117.129.24.245 - - [26/May/2023 17:05:24] "POST /user/search HTTP/1.1" 200 - 23 | discarding closed connection: 24 | 117.129.24.245 - - [26/May/2023 17:06:15] "POST /user/search HTTP/1.1" 200 - 25 | discarding closed connection: 26 | 117.129.24.245 - - [26/May/2023 17:06:18] "POST /user/search HTTP/1.1" 200 - 27 | discarding closed connection: 28 | 117.129.24.245 - - [26/May/2023 17:06:19] "POST /user/search HTTP/1.1" 200 - 29 | discarding closed connection: 30 | 117.129.24.245 - - [26/May/2023 17:06:21] "POST /user/search HTTP/1.1" 200 - 31 | discarding closed connection: 32 | 117.129.24.245 - - [26/May/2023 17:06:23] "POST /user/search HTTP/1.1" 200 - 33 | discarding closed connection: 34 | 117.129.24.245 - - [26/May/2023 17:06:25] "POST /user/search HTTP/1.1" 200 - 35 | discarding closed connection: 36 | 117.129.24.245 - - [26/May/2023 17:06:27] "POST /user/search HTTP/1.1" 200 - 37 | discarding closed connection: 38 | 117.129.24.245 - - [26/May/2023 17:06:29] "POST /user/search HTTP/1.1" 200 - 39 | discarding closed connection: 40 | 117.129.24.245 - - [26/May/2023 17:06:30] "POST /user/search HTTP/1.1" 200 - 41 | discarding closed connection: 42 | 117.129.24.245 - - [26/May/2023 17:06:32] "POST /user/search HTTP/1.1" 200 - 43 | discarding closed connection: 44 | 117.129.24.245 - - [26/May/2023 17:06:33] "POST /user/search HTTP/1.1" 200 - 45 | discarding closed connection: 46 | 117.129.24.245 - - [26/May/2023 17:07:47] "POST /user/search HTTP/1.1" 200 - 47 | discarding closed connection: 48 | 117.129.24.245 - - [26/May/2023 17:07:48] "POST /user/search HTTP/1.1" 200 - 49 | discarding closed connection: 50 | 117.129.24.245 - - [26/May/2023 17:07:50] "POST /user/search HTTP/1.1" 200 - 51 | discarding closed connection: 52 | 117.129.24.245 - - [26/May/2023 17:07:51] "POST /user/search HTTP/1.1" 200 - 53 | discarding closed connection: 54 | 117.129.24.245 - - [26/May/2023 17:07:53] "POST /user/search HTTP/1.1" 200 - 55 | discarding closed connection: 56 | 117.129.24.245 - - [26/May/2023 17:10:20] "POST /user/search HTTP/1.1" 200 - 57 | * Detected change in '/var/apps/o2020201023012/my_flask_web/user/user_manager.py', reloading 58 | 10 ------------- 59 | count==== 202 60 | 0 ==== 61 | 15 ------------- 62 | count==== 5 63 | 0 ==== 64 | 15 ------------- 65 | count==== 5 66 | 0 ==== 67 | 15 ------------- 68 | count==== 2 69 | 0 ==== 70 | 15 ------------- 71 | count==== 202 72 | 0 ==== 73 | 15 ------------- 74 | count==== 202 75 | 1 ==== 76 | 15 ------------- 77 | count==== 202 78 | 2 ==== 79 | 15 ------------- 80 | count==== 202 81 | 1 ==== 82 | 15 ------------- 83 | count==== 202 84 | 0 ==== 85 | 15 ------------- 86 | count==== 202 87 | 1 ==== 88 | 15 ------------- 89 | count==== 202 90 | 0 ==== 91 | 15 ------------- 92 | count==== 202 93 | 1 ==== 94 | 15 ------------- 95 | count==== 202 96 | 2 ==== 97 | 15 ------------- 98 | count==== 202 99 | 3 ==== 100 | 15 ------------- 101 | count==== 202 102 | 1 ==== 103 | 15 ------------- 104 | count==== 202 105 | 0 ==== 106 | 15 ------------- 107 | count==== 202 108 | 0 ==== 109 | 15 ------------- 110 | count==== 202 111 | 0 ==== 112 | 15 ------------- 113 | count==== 202 114 | 1 ==== 115 | 15 ------------- 116 | count==== 202 117 | 2 ==== 118 | 15 ------------- 119 | count==== 202 120 | 0 ==== 121 | * Restarting with stat 122 | * Debugger is active! 123 | * Debugger PIN: 953-125-545 124 | discarding closed connection: 125 | 117.129.24.245 - - [26/May/2023 17:19:42] "POST /user/search HTTP/1.1" 200 - 126 | discarding closed connection: 127 | 117.129.24.245 - - [26/May/2023 17:19:49] "POST /user/search HTTP/1.1" 200 - 128 | discarding closed connection: 129 | 117.129.24.245 - - [26/May/2023 17:19:51] "POST /user/search HTTP/1.1" 200 - 130 | discarding closed connection: 131 | 117.129.24.245 - - [26/May/2023 17:19:52] "POST /user/search HTTP/1.1" 200 - 132 | discarding closed connection: 133 | 117.129.24.245 - - [26/May/2023 17:19:53] "POST /user/search HTTP/1.1" 200 - 134 | discarding closed connection: 135 | 117.129.24.245 - - [26/May/2023 17:19:54] "POST /user/search HTTP/1.1" 200 - 136 | discarding closed connection: 137 | 117.129.24.245 - - [26/May/2023 17:20:01] "POST /user/search HTTP/1.1" 200 - 138 | discarding closed connection: 139 | 117.129.24.245 - - [26/May/2023 17:20:44] "POST /user/search HTTP/1.1" 200 - 140 | discarding closed connection: 141 | 117.129.24.245 - - [26/May/2023 17:20:47] "POST /user/search HTTP/1.1" 200 - 142 | discarding closed connection: 143 | 117.129.24.245 - - [26/May/2023 17:20:49] "POST /user/search HTTP/1.1" 200 - 144 | discarding closed connection: 145 | 117.129.24.245 - - [26/May/2023 17:20:50] "POST /user/search HTTP/1.1" 200 - 146 | discarding closed connection: 147 | 117.129.24.245 - - [26/May/2023 17:28:09] "POST /user/search HTTP/1.1" 200 - 148 | discarding closed connection: 149 | 117.129.24.245 - - [26/May/2023 17:28:13] "POST /user/search HTTP/1.1" 200 - 150 | discarding closed connection: 151 | 117.129.24.245 - - [26/May/2023 17:28:15] "POST /user/search HTTP/1.1" 200 - 152 | discarding closed connection: 153 | 117.129.24.245 - - [26/May/2023 17:28:16] "POST /user/search HTTP/1.1" 200 - 154 | discarding closed connection: 155 | 117.129.24.245 - - [26/May/2023 17:28:19] "POST /user/search HTTP/1.1" 200 - 156 | discarding closed connection: 157 | 117.129.24.245 - - [26/May/2023 17:28:21] "POST /user/search HTTP/1.1" 200 - 158 | discarding closed connection: 159 | 117.129.24.245 - - [26/May/2023 17:28:22] "POST /user/search HTTP/1.1" 200 - 160 | discarding closed connection: 161 | 117.129.24.245 - - [26/May/2023 17:28:28] "POST /user/search HTTP/1.1" 200 - 162 | discarding closed connection: 163 | 117.129.24.245 - - [26/May/2023 17:28:29] "POST /user/search HTTP/1.1" 200 - 164 | discarding closed connection: 165 | 117.129.24.245 - - [26/May/2023 17:28:29] "POST /user/search HTTP/1.1" 200 - 166 | 117.129.24.245 - - [26/May/2023 17:28:42] "POST /user/add HTTP/1.1" 302 - 167 | 117.129.24.245 - - [26/May/2023 17:28:42] "GET /user HTTP/1.1" 308 - 168 | discarding closed connection: 169 | 117.129.24.245 - - [26/May/2023 17:28:42] "GET /user/ HTTP/1.1" 200 - 170 | discarding closed connection: 171 | 117.129.24.245 - - [26/May/2023 17:28:48] "POST /user/search HTTP/1.1" 200 - 172 | discarding closed connection: 173 | 117.129.24.245 - - [26/May/2023 17:29:05] "POST /user/dels HTTP/1.1" 302 - 174 | 117.129.24.245 - - [26/May/2023 17:29:05] "GET /user HTTP/1.1" 308 - 175 | discarding closed connection: 176 | 117.129.24.245 - - [26/May/2023 17:29:05] "GET /user/ HTTP/1.1" 200 - 177 | * Detected change in '/var/apps/o2020201023012/my_flask_web/user/user_manager.py', reloading 178 | 15 ------------- 179 | count==== 202 180 | 0 ==== 181 | 15 ------------- 182 | count==== 202 183 | 1 ==== 184 | 15 ------------- 185 | count==== 202 186 | 2 ==== 187 | 15 ------------- 188 | count==== 202 189 | 3 ==== 190 | 15 ------------- 191 | count==== 202 192 | 4 ==== 193 | 15 ------------- 194 | count==== 202 195 | 5 ==== 196 | 15 ------------- 197 | count==== 202 198 | 0 ==== 199 | 15 ------------- 200 | count==== 202 201 | 0 ==== 202 | 15 ------------- 203 | count==== 202 204 | 0 ==== 205 | 15 ------------- 206 | count==== 202 207 | 0 ==== 208 | 15 ------------- 209 | count==== 202 210 | 0 ==== 211 | 15 ------------- 212 | count==== 202 213 | 0 ==== 214 | 15 ------------- 215 | count==== 202 216 | 0 ==== 217 | 15 ------------- 218 | count==== 202 219 | 0 ==== 220 | 15 ------------- 221 | count==== 202 222 | 0 ==== 223 | 15 ------------- 224 | count==== 202 225 | 0 ==== 226 | 15 ------------- 227 | count==== 202 228 | 0 ==== 229 | 15 ------------- 230 | count==== 202 231 | 0 ==== 232 | 15 ------------- 233 | count==== 202 234 | 4 ==== 235 | 15 ------------- 236 | count==== 202 237 | 6 ==== 238 | 15 ------------- 239 | count==== 202 240 | 8 ==== 241 | aaaaa 242 | 20 ------------- 243 | count==== 203 244 | 0 ==== 245 | * Restarting with stat 246 | * Debugger is active! 247 | * Debugger PIN: 953-125-545 248 | discarding closed connection: 249 | 117.129.24.245 - - [26/May/2023 17:32:32] "GET /user/ HTTP/1.1" 200 - 250 | discarding closed connection: 251 | 117.129.24.245 - - [26/May/2023 17:32:36] "POST /user/search HTTP/1.1" 200 - 252 | discarding closed connection: 253 | 117.129.24.245 - - [26/May/2023 17:32:42] "POST /user/search HTTP/1.1" 200 - 254 | discarding closed connection: 255 | 117.129.24.245 - - [26/May/2023 17:32:43] "POST /user/search HTTP/1.1" 200 - 256 | 117.129.24.245 - - [26/May/2023 17:32:46] "POST /user/del HTTP/1.1" 500 - 257 | Traceback (most recent call last): 258 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2213, in __call__ 259 | return self.wsgi_app(environ, start_response) 260 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2193, in wsgi_app 261 | response = self.handle_exception(e) 262 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2190, in wsgi_app 263 | response = self.full_dispatch_request() 264 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1486, in full_dispatch_request 265 | rv = self.handle_user_exception(e) 266 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1484, in full_dispatch_request 267 | rv = self.dispatch_request() 268 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1469, in dispatch_request 269 | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) 270 | File "/var/apps/o2020201023012/my_flask_web/user/user_manager.py", line 30, in del_user 271 | page = int(request.form.get("page")) 272 | TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType' 273 | 117.129.24.245 - - [26/May/2023 17:32:46] "GET /user/del?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - 274 | 117.129.24.245 - - [26/May/2023 17:32:46] "GET /user/del?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - 275 | 117.129.24.245 - - [26/May/2023 17:32:46] "GET /user/del?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - 276 | 117.129.24.245 - - [26/May/2023 17:32:46] "GET /user/del?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - 277 | 114.132.203.138 - - [26/May/2023 17:41:22] "GET /user/del?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - 278 | discarding closed connection: 279 | 117.129.24.245 - - [26/May/2023 17:41:24] "GET /user/ HTTP/1.1" 200 - 280 | discarding closed connection: 281 | 117.129.24.245 - - [26/May/2023 17:41:32] "POST /user/del HTTP/1.1" 500 - 282 | Traceback (most recent call last): 283 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2213, in __call__ 284 | return self.wsgi_app(environ, start_response) 285 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2193, in wsgi_app 286 | response = self.handle_exception(e) 287 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2190, in wsgi_app 288 | response = self.full_dispatch_request() 289 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1486, in full_dispatch_request 290 | rv = self.handle_user_exception(e) 291 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1484, in full_dispatch_request 292 | rv = self.dispatch_request() 293 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1469, in dispatch_request 294 | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) 295 | File "/var/apps/o2020201023012/my_flask_web/user/user_manager.py", line 49, in del_user 296 | return render_template("user_manager.html", l = records, s_user = username,user_order = user_order, pages=list(range(first_page, last_page)),current_page = page,page_size = page_size) 297 | NameError: name 'records' is not defined 298 | 117.129.24.245 - - [26/May/2023 17:41:32] "GET /user/del?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - 299 | 117.129.24.245 - - [26/May/2023 17:41:32] "GET /user/del?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - 300 | 117.129.24.245 - - [26/May/2023 17:41:32] "GET /user/del?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - 301 | * Detected change in '/var/apps/o2020201023012/my_flask_web/user/user_manager.py', reloading 302 | 10 ------------- 303 | count==== 186 304 | 1 ==== 305 | 20 ------------- 306 | count==== 186 307 | 0 ==== 308 | 20 ------------- 309 | count==== 186 310 | 2 ==== 311 | uname 312 | * Restarting with stat 313 | * Debugger is active! 314 | * Debugger PIN: 953-125-545 315 | discarding closed connection: 316 | 117.129.24.245 - - [26/May/2023 17:44:15] "GET /user/ HTTP/1.1" 200 - 317 | discarding closed connection: 318 | 117.129.24.245 - - [26/May/2023 17:44:18] "POST /user/del HTTP/1.1" 500 - 319 | Traceback (most recent call last): 320 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2213, in __call__ 321 | return self.wsgi_app(environ, start_response) 322 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2193, in wsgi_app 323 | response = self.handle_exception(e) 324 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2190, in wsgi_app 325 | response = self.full_dispatch_request() 326 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1486, in full_dispatch_request 327 | rv = self.handle_user_exception(e) 328 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1484, in full_dispatch_request 329 | rv = self.dispatch_request() 330 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1469, in dispatch_request 331 | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) 332 | File "/var/apps/o2020201023012/my_flask_web/user/user_manager.py", line 50, in del_user 333 | return render_template("user_manager.html", l = records, s_user = username,user_order = user_order, pages=list(range(first_page, last_page)),current_page = page,page_size = page_size) 334 | NameError: name 'records' is not defined 335 | 117.129.24.245 - - [26/May/2023 17:44:18] "GET /user/del?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - 336 | 117.129.24.245 - - [26/May/2023 17:44:18] "GET /user/del?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - 337 | 117.129.24.245 - - [26/May/2023 17:44:18] "GET /user/del?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - 338 | discarding closed connection: 339 | 117.129.24.245 - - [26/May/2023 17:50:35] "GET /user/ HTTP/1.1" 200 - 340 | discarding closed connection: 341 | 117.129.24.245 - - [26/May/2023 17:50:38] "POST /user/search HTTP/1.1" 200 - 342 | discarding closed connection: 343 | 117.129.24.245 - - [26/May/2023 17:50:40] "POST /user/search HTTP/1.1" 200 - 344 | discarding closed connection: 345 | 117.129.24.245 - - [26/May/2023 17:50:46] "POST /user/del HTTP/1.1" 500 - 346 | Traceback (most recent call last): 347 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2213, in __call__ 348 | return self.wsgi_app(environ, start_response) 349 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2193, in wsgi_app 350 | response = self.handle_exception(e) 351 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2190, in wsgi_app 352 | response = self.full_dispatch_request() 353 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1486, in full_dispatch_request 354 | rv = self.handle_user_exception(e) 355 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1484, in full_dispatch_request 356 | rv = self.dispatch_request() 357 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1469, in dispatch_request 358 | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) 359 | File "/var/apps/o2020201023012/my_flask_web/user/user_manager.py", line 50, in del_user 360 | return render_template("user_manager.html", l = records, s_user = username,user_order = user_order, pages=list(range(first_page, last_page)),current_page = page,page_size = page_size) 361 | NameError: name 'records' is not defined 362 | 117.129.24.245 - - [26/May/2023 17:50:46] "GET /user/del?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - 363 | 117.129.24.245 - - [26/May/2023 17:50:46] "GET /user/del?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - 364 | 117.129.24.245 - - [26/May/2023 17:50:46] "GET /user/del?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - 365 | * Detected change in '/var/apps/o2020201023012/my_flask_web/user/user_manager.py', reloading 366 | uname cd|qaimmhe 367 | sql========= DELETE FROM login WHERE username=%s 368 | 10 ------------- 369 | count==== 185 370 | 1 ==== 371 | 10 ------------- 372 | count==== 185 373 | 0 ==== 374 | uname cjmj{tmktq 375 | sql========= DELETE FROM login WHERE username=%s 376 | * Restarting with stat 377 | * Debugger is active! 378 | * Debugger PIN: 953-125-545 379 | discarding closed connection: 380 | 117.129.24.245 - - [26/May/2023 17:52:21] "GET /user/ HTTP/1.1" 200 - 381 | * Detected change in '/var/apps/o2020201023012/my_flask_web/user/user_manager.py', reloading 382 | * Restarting with stat 383 | * Debugger is active! 384 | * Debugger PIN: 953-125-545 385 | discarding closed connection: 386 | 117.129.24.245 - - [26/May/2023 17:55:54] "GET /user/ HTTP/1.1" 200 - 387 | discarding closed connection: 388 | 117.129.24.245 - - [26/May/2023 17:55:57] "POST /user/search HTTP/1.1" 200 - 389 | discarding closed connection: 390 | 117.129.24.245 - - [26/May/2023 17:55:59] "POST /user/search HTTP/1.1" 200 - 391 | discarding closed connection: 392 | 117.129.24.245 - - [26/May/2023 17:56:07] "POST /user/search HTTP/1.1" 200 - 393 | discarding closed connection: 394 | 117.129.24.245 - - [26/May/2023 17:56:09] "POST /user/del HTTP/1.1" 302 - 395 | 117.129.24.245 - - [26/May/2023 17:56:09] "GET /user HTTP/1.1" 308 - 396 | discarding closed connection: 397 | 117.129.24.245 - - [26/May/2023 17:56:09] "GET /user/ HTTP/1.1" 200 - 398 | discarding closed connection: 399 | 117.129.24.245 - - [26/May/2023 17:56:13] "POST /user/del HTTP/1.1" 302 - 400 | 117.129.24.245 - - [26/May/2023 17:56:13] "GET /user HTTP/1.1" 308 - 401 | discarding closed connection: 402 | 117.129.24.245 - - [26/May/2023 17:56:14] "GET /user/ HTTP/1.1" 200 - 403 | discarding closed connection: 404 | 117.129.24.245 - - [26/May/2023 17:56:23] "POST /user/dels HTTP/1.1" 302 - 405 | 117.129.24.245 - - [26/May/2023 17:56:23] "GET /user HTTP/1.1" 308 - 406 | discarding closed connection: 407 | 117.129.24.245 - - [26/May/2023 17:56:23] "GET /user/ HTTP/1.1" 200 - 408 | discarding closed connection: 409 | 117.129.24.245 - - [26/May/2023 17:56:26] "GET /user/prepareUpdate?username=aaa HTTP/1.1" 500 - 410 | Traceback (most recent call last): 411 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2213, in __call__ 412 | return self.wsgi_app(environ, start_response) 413 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2193, in wsgi_app 414 | response = self.handle_exception(e) 415 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2190, in wsgi_app 416 | response = self.full_dispatch_request() 417 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1486, in full_dispatch_request 418 | rv = self.handle_user_exception(e) 419 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1484, in full_dispatch_request 420 | rv = self.dispatch_request() 421 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1469, in dispatch_request 422 | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) 423 | File "/var/apps/o2020201023012/my_flask_web/user/user_manager.py", line 147, in prepare_update 424 | return render_template("user_detail.html", user = user, password = password) 425 | File "/usr/local/lib/python3.9/dist-packages/flask/templating.py", line 150, in render_template 426 | template = app.jinja_env.get_or_select_template(template_name_or_list) 427 | File "/usr/local/lib/python3.9/dist-packages/jinja2/environment.py", line 1081, in get_or_select_template 428 | return self.get_template(template_name_or_list, parent, globals) 429 | File "/usr/local/lib/python3.9/dist-packages/jinja2/environment.py", line 1010, in get_template 430 | return self._load_template(name, globals) 431 | File "/usr/local/lib/python3.9/dist-packages/jinja2/environment.py", line 969, in _load_template 432 | template = self.loader.load(self, name, self.make_globals(globals)) 433 | File "/usr/local/lib/python3.9/dist-packages/jinja2/loaders.py", line 126, in load 434 | source, filename, uptodate = self.get_source(environment, name) 435 | File "/usr/local/lib/python3.9/dist-packages/flask/templating.py", line 64, in get_source 436 | return self._get_source_fast(environment, template) 437 | File "/usr/local/lib/python3.9/dist-packages/flask/templating.py", line 98, in _get_source_fast 438 | raise TemplateNotFound(template) 439 | jinja2.exceptions.TemplateNotFound: user_detail.html 440 | 117.129.24.245 - - [26/May/2023 17:56:26] "GET /user/prepareUpdate?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - 441 | 117.129.24.245 - - [26/May/2023 17:56:26] "GET /user/prepareUpdate?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - 442 | 117.129.24.245 - - [26/May/2023 17:56:26] "GET /user/prepareUpdate?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - 443 | 117.129.24.245 - - [26/May/2023 17:56:26] "GET /user/prepareUpdate?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - 444 | discarding closed connection: 445 | 117.129.24.245 - - [26/May/2023 17:58:28] "GET /user/prepareUpdate?username=aaa HTTP/1.1" 200 - 446 | discarding closed connection: 447 | 117.129.24.245 - - [26/May/2023 18:01:34] "GET /user/prepareUpdate?username=aaa HTTP/1.1" 200 - 448 | 117.129.24.245 - - [26/May/2023 18:01:38] "POST /update HTTP/1.1" 500 - 449 | Traceback (most recent call last): 450 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2213, in __call__ 451 | return self.wsgi_app(environ, start_response) 452 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2193, in wsgi_app 453 | response = self.handle_exception(e) 454 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2190, in wsgi_app 455 | response = self.full_dispatch_request() 456 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1486, in full_dispatch_request 457 | rv = self.handle_user_exception(e) 458 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1484, in full_dispatch_request 459 | rv = self.dispatch_request() 460 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1469, in dispatch_request 461 | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) 462 | File "/var/apps/o2020201023012/my_flask_web/user/user_manager.py", line 151, in update 463 | current_user = session["current_user"] 464 | File "/usr/local/lib/python3.9/dist-packages/flask/sessions.py", line 79, in __getitem__ 465 | return super().__getitem__(key) 466 | KeyError: 'current_user' 467 | 117.129.24.245 - - [26/May/2023 18:01:38] "GET /update?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 200 - 468 | 117.129.24.245 - - [26/May/2023 18:01:38] "GET /update?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 200 - 469 | 117.129.24.245 - - [26/May/2023 18:01:38] "GET /update?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 200 - 470 | 117.129.24.245 - - [26/May/2023 18:01:38] "GET /update?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - 471 | * Detected change in '/var/apps/o2020201023012/my_flask_web/user/user_manager.py', reloading 472 | 10 ------------- 473 | count==== 184 474 | 0 ==== 475 | 15 ------------- 476 | count==== 184 477 | 0 ==== 478 | 15 ------------- 479 | count==== 184 480 | 0 ==== 481 | uname=========== ctgycjxers 482 | sql========= DELETE FROM login WHERE username=%s 483 | uname=========== crlmgqdelr 484 | sql========= DELETE FROM login WHERE username=%s 485 | now in prepare updateaaa 486 | now in prepare updateaaa 487 | now in prepare updateaaa 488 | * Restarting with stat 489 | * Debugger is active! 490 | * Debugger PIN: 953-125-545 491 | 117.129.24.245 - - [26/May/2023 18:02:04] "POST /update HTTP/1.1" 500 - 492 | Traceback (most recent call last): 493 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2213, in __call__ 494 | return self.wsgi_app(environ, start_response) 495 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2193, in wsgi_app 496 | response = self.handle_exception(e) 497 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 2190, in wsgi_app 498 | response = self.full_dispatch_request() 499 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1486, in full_dispatch_request 500 | rv = self.handle_user_exception(e) 501 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1484, in full_dispatch_request 502 | rv = self.dispatch_request() 503 | File "/usr/local/lib/python3.9/dist-packages/flask/app.py", line 1469, in dispatch_request 504 | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) 505 | File "/var/apps/o2020201023012/my_flask_web/user/user_manager.py", line 152, in update 506 | if current_user != "admin": 507 | NameError: name 'current_user' is not defined 508 | 117.129.24.245 - - [26/May/2023 18:02:04] "GET /update?__debugger__=yes&cmd=resource&f=style.css HTTP/1.1" 304 - 509 | 117.129.24.245 - - [26/May/2023 18:02:04] "GET /update?__debugger__=yes&cmd=resource&f=debugger.js HTTP/1.1" 304 - 510 | 117.129.24.245 - - [26/May/2023 18:02:04] "GET /update?__debugger__=yes&cmd=resource&f=console.png HTTP/1.1" 304 - 511 | * Detected change in '/var/apps/o2020201023012/my_flask_web/user/user_manager.py', reloading 512 | * Restarting with stat 513 | * Debugger is active! 514 | * Debugger PIN: 953-125-545 515 | discarding closed connection: 516 | 117.129.24.245 - - [26/May/2023 18:02:18] "POST /update HTTP/1.1" 302 - 517 | 117.129.24.245 - - [26/May/2023 18:02:18] "GET /user HTTP/1.1" 308 - 518 | discarding closed connection: 519 | 117.129.24.245 - - [26/May/2023 18:02:18] "GET /user/ HTTP/1.1" 200 - 520 | discarding closed connection: 521 | 117.129.24.245 - - [26/May/2023 18:02:22] "GET /user/prepareUpdate?username=aaaaa HTTP/1.1" 200 - 522 | discarding closed connection: 523 | 117.129.24.245 - - [26/May/2023 18:02:24] "POST /update HTTP/1.1" 302 - 524 | 117.129.24.245 - - [26/May/2023 18:02:24] "GET /user HTTP/1.1" 308 - 525 | discarding closed connection: 526 | 117.129.24.245 - - [26/May/2023 18:02:24] "GET /user/ HTTP/1.1" 200 - 527 | * Detected change in '/var/apps/o2020201023012/my_flask_web/user/user_manager.py', reloading 528 | now in prepare updateaaaaa 529 | * Restarting with stat 530 | * Debugger is active! 531 | * Debugger PIN: 953-125-545 532 | --------------------------------------------------------------------------------