mher / flower

Real-time monitor and web admin for Celery distributed task queue

Home Page:https://flower.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

flower web page rendering failed

systemime opened this issue · comments

  • celery: 5.2.7
  • flower: 1.2.0
  • python: 3.7
  • OS: macOS Catalina / Ubuntu 18.04

I use the celery -A celery_worker.celery_app flower --address=127.0.0.1 --port=5560 command to start flower, you can see the normal output:

[I 220823 11:41:19 command:160] Visit me at http://0.0.0.0:5560
[I 220823 11:41:19 command:165] Broker: redis://:**@127.0.0.1:6479/3
[I 220823 11:41:19 command:168] Registered tasks: 
    ['celery.accumulate',
     'celery.backend_cleanup',
     'celery.chain',
     'celery.chord',
     'celery.chord_unlock',
     'celery.chunks',
     'celery.group',
     'celery.map',
     'celery.starmap',
     'task_debug']
[I 220823 11:41:19 mixins:225] Connected to redis://:**@127.0.0.1:6479/3

But when I visit the flower address in the browser, there is an error

[E 220823 11:41:48 template:334] base.html code:
      1  [  MainThread ] def _tt_execute():  # base.html:0
      2  [  MainThread ]     _tt_buffer = []  # base.html:0
      3  [  MainThread ]     _tt_append = _tt_buffer.append  # base.html:0
      4  [  MainThread ]     import pprint  # base.html:1
      5  [  MainThread ]     _tt_append(b'\n<!DOCTYPE html>\n<html lang="en">\n<head>\n<meta charset="utf-8">\n<title>Flower</title>\n<meta name="viewport" content="width=device-width, initial-scale=1.0">\n<meta name="description" content="">\n<meta name="author" content="">\n<!-- bootstrap overwritable styles -->\n<style type="text/css">\nbody { padding-top: 60px; }\n</style>\n<link href="')  # base.html:16
      6  [  MainThread ]     _tt_tmp = static_url('css/bootstrap.css')  # base.html:16
      7  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:16
      8  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:16
      9  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:16
     10  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:16
     11  [  MainThread ]     _tt_append(b'" rel="stylesheet">\n<link href="')  # base.html:17
     12  [  MainThread ]     _tt_tmp = static_url('css/bootstrap-responsive.css')  # base.html:17
     13  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:17
     14  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:17
     15  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:17
     16  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:17
     17  [  MainThread ]     _tt_append(b'" rel="stylesheet">\n<link href="')  # base.html:18
     18  [  MainThread ]     _tt_tmp = static_url('css/jquery-ui.css')  # base.html:18
     19  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:18
     20  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:18
     21  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:18
     22  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:18
     23  [  MainThread ]     _tt_append(b'" rel="stylesheet">\n<link href="')  # base.html:19
     24  [  MainThread ]     _tt_tmp = static_url('css/bootstrap-datetimepicker.min.css')  # base.html:19
     25  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:19
     26  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:19
     27  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:19
     28  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:19
     29  [  MainThread ]     _tt_append(b'" rel="stylesheet">\n<link href="')  # base.html:20
     30  [  MainThread ]     _tt_tmp = static_url('css/flower.css')  # base.html:20
     31  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:20
     32  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:20
     33  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:20
     34  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:20
     35  [  MainThread ]     _tt_append(b'" rel="stylesheet">\n<link href="')  # base.html:21
     36  [  MainThread ]     _tt_tmp = static_url('css/jquery.dataTables.select.min.css')  # base.html:21
     37  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:21
     38  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:21
     39  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:21
     40  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:21
     41  [  MainThread ]     _tt_append(b'" rel="stylesheet">\n<link href="')  # base.html:22
     42  [  MainThread ]     _tt_tmp = static_url('css/jquery.dataTables.buttons.min.css')  # base.html:22
     43  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:22
     44  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:22
     45  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:22
     46  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:22
     47  [  MainThread ]     _tt_append(b'" rel="stylesheet">\n<link href="')  # base.html:23
     48  [  MainThread ]     _tt_tmp = static_url('css/jquery.dataTables.colReorder.min.css')  # base.html:23
     49  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:23
     50  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:23
     51  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:23
     52  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:23
     53  [  MainThread ]     _tt_append(b'" rel="stylesheet">\n<link href="')  # base.html:24
     54  [  MainThread ]     _tt_tmp = static_url('css/jquery.dataTables.css')  # base.html:24
     55  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:24
     56  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:24
     57  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:24
     58  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:24
     59  [  MainThread ]     _tt_append(b'" rel="stylesheet">\n')  # base.html:26
     60  [  MainThread ]     _tt_append(b'\n')  # base.html:27 (via base.html:26)
     61  [  MainThread ]     _tt_append(b'\n<!--[if lt IE 9]>\n<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>\n<![endif]-->\n<!-- Le fav and touch icons -->\n<link rel="shortcut icon" href="')  # base.html:34
     62  [  MainThread ]     _tt_tmp = static_url('favicon.ico')  # base.html:34
     63  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:34
     64  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:34
     65  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:34
     66  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:34
     67  [  MainThread ]     _tt_append(b'">\n<link rel="apple-touch-icon-precomposed" sizes="144x144" href="')  # base.html:35
     68  [  MainThread ]     _tt_tmp = static_url('img/apple-touch-icon-144-precomposed.png')  # base.html:35
     69  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:35
     70  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:35
     71  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:35
     72  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:35
     73  [  MainThread ]     _tt_append(b'">\n<link rel="apple-touch-icon-precomposed" sizes="114x114" href="')  # base.html:36
     74  [  MainThread ]     _tt_tmp = static_url('img/apple-touch-icon-114-precomposed.png')  # base.html:36
     75  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:36
     76  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:36
     77  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:36
     78  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:36
     79  [  MainThread ]     _tt_append(b'">\n<link rel="apple-touch-icon-precomposed" sizes="72x72" href="')  # base.html:37
     80  [  MainThread ]     _tt_tmp = static_url('img/apple-touch-icon-72-precomposed.png')  # base.html:37
     81  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:37
     82  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:37
     83  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:37
     84  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:37
     85  [  MainThread ]     _tt_append(b'">\n<link rel="apple-touch-icon-precomposed" href="')  # base.html:38
     86  [  MainThread ]     _tt_tmp = static_url('img/apple-touch-icon-57-precomposed.png')  # base.html:38
     87  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:38
     88  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:38
     89  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:38
     90  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:38
     91  [  MainThread ]     _tt_append(b'">\n</head>\n<body>\n')  # base.html:42
     92  [  MainThread ]     _tt_append(b'\n')  # base.html:43 (via base.html:42)
     93  [  MainThread ]     _tt_tmp = _tt_modules.Template("navbar.html", active_tab="")  # base.html:43 (via base.html:42)
     94  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:43 (via base.html:42)
     95  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:43 (via base.html:42)
     96  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:43 (via base.html:42)
     97  [  MainThread ]     _tt_append(b'\n')  # base.html:44 (via base.html:42)
     98  [  MainThread ]     _tt_append(b'\n<div class="container-fluid">\n<div id="alert" class="alert alert-success hide">\n<a class="close" onclick="flower.on_alert_close(event)">\xc3\x97</a>\n<p id="alert-message"></p>\n</div>\n<input type="hidden" value="')  # base.html:51
     99  [  MainThread ]     _tt_tmp = url_prefix or ''  # base.html:51
    100  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:51
    101  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:51
    102  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:51
    103  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:51
    104  [  MainThread ]     _tt_append(b'" id=\'url_prefix\'>\n</div>\n')  # base.html:54
    105  [  MainThread ]     _tt_append(b'\n')  # base.html:55 (via base.html:54)
    106  [  MainThread ]     _tt_append(b'\n<!-- Le javascript\n================================================== -->\n<!-- Placed at the end of the document so the pages load faster -->\n<script src="')  # base.html:60
    107  [  MainThread ]     _tt_tmp = static_url('js/jquery-1.7.2.min.js')  # base.html:60
    108  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:60
    109  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:60
    110  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:60
    111  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:60
    112  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:61
    113  [  MainThread ]     _tt_tmp = static_url('js/jquery-ui-1-8-15.min.js')  # base.html:61
    114  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:61
    115  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:61
    116  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:61
    117  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:61
    118  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:62
    119  [  MainThread ]     _tt_tmp = static_url('js/jquery.dataTables.min.js')  # base.html:62
    120  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:62
    121  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:62
    122  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:62
    123  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:62
    124  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:63
    125  [  MainThread ]     _tt_tmp = static_url('js/jquery.dataTables.select.min.js')  # base.html:63
    126  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:63
    127  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:63
    128  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:63
    129  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:63
    130  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:64
    131  [  MainThread ]     _tt_tmp = static_url('js/jquery.dataTables.buttons.min.js')  # base.html:64
    132  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:64
    133  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:64
    134  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:64
    135  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:64
    136  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:65
    137  [  MainThread ]     _tt_tmp = static_url('js/jquery.dataTables.colReorder.min.js')  # base.html:65
    138  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:65
    139  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:65
    140  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:65
    141  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:65
    142  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:66
    143  [  MainThread ]     _tt_tmp = static_url('js/jquery.dataTables.sorting.natural.js')  # base.html:66
    144  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:66
    145  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:66
    146  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:66
    147  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:66
    148  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:68
    149  [  MainThread ]     _tt_tmp = static_url('js/bootstrap-transition.js')  # base.html:68
    150  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:68
    151  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:68
    152  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:68
    153  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:68
    154  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:69
    155  [  MainThread ]     _tt_tmp = static_url('js/bootstrap-alert.js')  # base.html:69
    156  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:69
    157  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:69
    158  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:69
    159  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:69
    160  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:70
    161  [  MainThread ]     _tt_tmp = static_url('js/bootstrap-modal.js')  # base.html:70
    162  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:70
    163  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:70
    164  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:70
    165  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:70
    166  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:71
    167  [  MainThread ]     _tt_tmp = static_url('js/bootstrap-dropdown.js')  # base.html:71
    168  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:71
    169  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:71
    170  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:71
    171  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:71
    172  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:72
    173  [  MainThread ]     _tt_tmp = static_url('js/bootstrap-scrollspy.js')  # base.html:72
    174  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:72
    175  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:72
    176  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:72
    177  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:72
    178  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:73
    179  [  MainThread ]     _tt_tmp = static_url('js/bootstrap-tab.js')  # base.html:73
    180  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:73
    181  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:73
    182  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:73
    183  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:73
    184  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:74
    185  [  MainThread ]     _tt_tmp = static_url('js/bootstrap-tooltip.js')  # base.html:74
    186  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:74
    187  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:74
    188  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:74
    189  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:74
    190  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:75
    191  [  MainThread ]     _tt_tmp = static_url('js/bootstrap-popover.js')  # base.html:75
    192  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:75
    193  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:75
    194  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:75
    195  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:75
    196  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:76
    197  [  MainThread ]     _tt_tmp = static_url('js/bootstrap-button.js')  # base.html:76
    198  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:76
    199  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:76
    200  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:76
    201  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:76
    202  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:77
    203  [  MainThread ]     _tt_tmp = static_url('js/bootstrap-collapse.js')  # base.html:77
    204  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:77
    205  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:77
    206  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:77
    207  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:77
    208  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:78
    209  [  MainThread ]     _tt_tmp = static_url('js/bootstrap-carousel.js')  # base.html:78
    210  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:78
    211  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:78
    212  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:78
    213  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:78
    214  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:79
    215  [  MainThread ]     _tt_tmp = static_url('js/bootstrap-typeahead.js')  # base.html:79
    216  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:79
    217  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:79
    218  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:79
    219  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:79
    220  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:81
    221  [  MainThread ]     _tt_tmp = static_url('js/bootstrap-datetimepicker.min.js')  # base.html:81
    222  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:81
    223  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:81
    224  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:81
    225  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:81
    226  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:82
    227  [  MainThread ]     _tt_tmp = static_url('js/moment.min.js')  # base.html:82
    228  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:82
    229  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:82
    230  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:82
    231  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:82
    232  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:83
    233  [  MainThread ]     _tt_tmp = static_url('js/moment-timezone-with-data.min.js')  # base.html:83
    234  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:83
    235  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:83
    236  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:83
    237  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:83
    238  [  MainThread ]     _tt_append(b'"></script>\n<script src="')  # base.html:85
    239  [  MainThread ]     _tt_tmp = static_url('js/flower.js')  # base.html:85
    240  [  MainThread ]     if isinstance(_tt_tmp, _tt_string_types): _tt_tmp = _tt_utf8(_tt_tmp)  # base.html:85
    241  [  MainThread ]     else: _tt_tmp = _tt_utf8(str(_tt_tmp))  # base.html:85
    242  [  MainThread ]     _tt_tmp = _tt_utf8(xhtml_escape(_tt_tmp))  # base.html:85
    243  [  MainThread ]     _tt_append(_tt_tmp)  # base.html:85
    244  [  MainThread ]     _tt_append(b'"></script>\n')  # base.html:87
    245  [  MainThread ]     _tt_append(b'\n')  # base.html:88 (via base.html:87)
    246  [  MainThread ]     _tt_append(b'\n</body>\n</html>\n')  # base.html:92
    247  [  MainThread ]     return _tt_utf8('').join(_tt_buffer)  # base.html:0
[E 220823 11:41:48 web:1802] Uncaught exception GET / (127.0.0.1)
    HTTPServerRequest(protocol='http', host='127.0.0.1:5560', method='GET', uri='/', version='HTTP/1.1', remote_ip='127.0.0.1')
    [  MainThread ] Traceback (most recent call last):
    [  MainThread ]   File "/Users/systemime/.pyenv/versions/3.7.9/envs/ad_adp_refactor/lib/python3.7/site-packages/tornado/web.py", line 1713, in _execute
        result = await result
    [  MainThread ]   File "/Users/systemime/.pyenv/versions/3.7.9/envs/ad_adp_refactor/lib/python3.7/site-packages/tornado/gen.py", line 216, in wrapper
        result = ctx_run(func, *args, **kwargs)
    [  MainThread ]   File "/Users/systemime/.pyenv/versions/3.7.9/envs/ad_adp_refactor/lib/python3.7/site-packages/flower/views/dashboard.py", line 61, in get
        autorefresh=1 if self.application.options.auto_refresh else 0)
    [  MainThread ]   File "/Users/systemime/.pyenv/versions/3.7.9/envs/ad_adp_refactor/lib/python3.7/site-packages/flower/views/__init__.py", line 35, in render
        super(BaseHandler, self).render(*args, **kwargs)
    [  MainThread ]   File "/Users/systemime/.pyenv/versions/3.7.9/envs/ad_adp_refactor/lib/python3.7/site-packages/tornado/web.py", line 865, in render
        html = self.render_string(template_name, **kwargs)
    [  MainThread ]   File "/Users/systemime/.pyenv/versions/3.7.9/envs/ad_adp_refactor/lib/python3.7/site-packages/tornado/web.py", line 1011, in render_string
        t = loader.load(template_name)
    [  MainThread ]   File "/Users/systemime/.pyenv/versions/3.7.9/envs/ad_adp_refactor/lib/python3.7/site-packages/tornado/template.py", line 446, in load
        self.templates[name] = self._create_template(name)
    [  MainThread ]   File "/Users/systemime/.pyenv/versions/3.7.9/envs/ad_adp_refactor/lib/python3.7/site-packages/tornado/template.py", line 477, in _create_template
        template = Template(f.read(), name=name, loader=self)
    [  MainThread ]   File "/Users/systemime/.pyenv/versions/3.7.9/envs/ad_adp_refactor/lib/python3.7/site-packages/tornado/template.py", line 319, in __init__
        self.code = self._generate_python(loader)
    [  MainThread ]   File "/Users/systemime/.pyenv/versions/3.7.9/envs/ad_adp_refactor/lib/python3.7/site-packages/tornado/template.py", line 369, in _generate_python
        ancestors = self._get_ancestors(loader)
    [  MainThread ]   File "/Users/systemime/.pyenv/versions/3.7.9/envs/ad_adp_refactor/lib/python3.7/site-packages/tornado/template.py", line 387, in _get_ancestors
        template = loader.load(chunk.name, self.name)
    [  MainThread ]   File "/Users/systemime/.pyenv/versions/3.7.9/envs/ad_adp_refactor/lib/python3.7/site-packages/tornado/template.py", line 446, in load
        self.templates[name] = self._create_template(name)
    [  MainThread ]   File "/Users/systemime/.pyenv/versions/3.7.9/envs/ad_adp_refactor/lib/python3.7/site-packages/tornado/template.py", line 477, in _create_template
        template = Template(f.read(), name=name, loader=self)
    [  MainThread ]   File "/Users/systemime/.pyenv/versions/3.7.9/envs/ad_adp_refactor/lib/python3.7/site-packages/tornado/template.py", line 330, in __init__
        dont_inherit=True,
    [  MainThread ]   File "base_html.generated.py", line 1
    [  MainThread ]     [  MainThread ] def _tt_execute():  # base.html:0
    [  MainThread ]                       ^
    [  MainThread ] SyntaxError: invalid syntax

It looks like the template rendering failed. My Redis has a password, I try to specify the broker directly, but it doesn't work.

my celery is working fine,can anyone help me?