Я использую веб-приложение Python Dash на GAE. Локально работает хорошо, но поле ввода в приложении не реагирует, когда я в первый раз пытаюсь ввести? - PullRequest
0 голосов
/ 24 июня 2019

В верхней части заголовка мне нужно что-то «напечатать» (которое не отображается) и нажать «go», чтобы приложение начало реагировать. На самом деле, тогда я, наконец, могу напечатать и увидеть свой ввод и получить его для чтения программой, как и ожидалось. В настоящее время приложение размещено @ https://foodmoodai.appspot.com/ . username : test , passwd : test1, наслаждайтесь!

Я пытался изменить начальное состояние поля ввода с '' на ' ', но безрезультатно. Я пытался увеличить ресурсы процессора, думая, что это проблема с производительностью.

Мой файл app.yaml:

runtime: python
env: flex
entrypoint: gunicorn app:app.server -b :$PORT

threadsafe: false

runtime_config:
  python_version: 2


resources:
  cpu: 1
  memory_gb: 1
  disk_size_gb: 10

начало кода в Q (основной файл):

import dash

import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output, State
import plotly.graph_objs as go
from textwrap import dedent as d
from flask import Flask
import pandas as pd
import numpy as np
from NutrientParser import parseNutrientStr_frmUser,parseResearch,parseFoodResearch,find_substring
from userMindfuleClasses import *
#import time
#import dash_table as dtable
#import base64
import PIL  
import urllib3
from PIL import Image
import json,os
import arrow

from server import app

colors = {
    'logo_font' : '#797d7f',
    'logo_background' : ' #f2f3f4',
    'submit_button_font' : '#fbfcfc',
    'blue' : '#4530CA'                                              
}


layout = html.Div([

    #html.Img(className = 'company_logo',
        #src = '/.name_company_logo.jpg',
        #style={
                #'height' : '8%',
                #'width' : '8%',
                #'padding-top' : 15,
                #'padding-bottom' : 20,
                #'padding-left' : 10
            #}),
    html.Div(children = [  
            dcc.Input(
                id = 'meal_input',
                placeholder = 'Start typing...',
                value='', 
                style={
                    'textAlign': 'left',
                    'font-weight' : 'bold',
                    'color' : colors['logo_font'],
                    'background-color' : colors['logo_background'],
                    'position' : 'absolute',
                    'top' : '100px' ,
                    'left' : '315px',
                    'width' : '300px',
                    'height' : '30px',

                })
        ]), 

    html.Div(className = 'row_submit_button', children = [  
            html.Button(......

ожидаемый результат - попытка ввода текста для отображения и воздействия на другие компоненты в приложении так же, как это происходит локально. На самом деле он просто остается с исходным текстом «Начать печатать ...» и не реагирует вообще. Об ошибках не сообщается.

1 Ответ

0 голосов
/ 27 июня 2019

У вас есть некоторые ошибки JavaScipt, возникающие при загрузке:

Uncaught (in promise) TypeError: undefined does not have a method named "concat"
    at bundle.js?v=0.12.1:2
    at e (bundle.js?v=0.12.1:1)
    at bundle.js?v=0.12.1:1
    at Array.map (<anonymous>)
    at l (bundle.js?v=0.12.1:1)
    at bundle.js?v=0.12.1:2
    at Array.forEach (<anonymous>)
    at bundle.js?v=0.12.1:2

Может быть, поэтому?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...