Мое веб-приложение в GAE работает должным образом локально на моем Mac, но при развертывании поле ввода не реагирует на первую попытку ввода, которую я печатаю? - PullRequest
1 голос
/ 04 июля 2019

Я думаю, что краткое резюме на самом деле достаточно хорошо описывает проблему. С точки зрения управления версиями, я использую локально python 3.4, ОС Debian Linux на GAE. Я работаю в рабочей среде env. с «развертыванием облачного приложения».

Я пытался изменить начальное значение поля ввода, локально это ''. Значение заполнителя поля ввода ix 'Начать вводить ...'.

Я провел онлайн-исследование и попытался расшифровать ошибки веб-страницы в элементе проверки в локальном браузере.

Есть также много ошибок в javascript для «проверять элемент» в моем локальном браузере при попытке этого действия ввода. Одна из таких ошибок «Необработанное отклонение обещания: Ошибка: component.type is undefined». Вы увидите все из этих ошибок, если вы попробуете выше в адресе веб-приложения, который я привел выше. возможно, другой намек - это то, что у меня возникают другие, казалось бы, «неразрешимые» проблемы, такие как полная неспособность разместить мои статические изображения независимо от того, с чего я пытаюсь консультации онлайн (например, все комбинации конфигов app.yaml). Возможно, эти две проблемы имеют общий источник высокого уровня .. ??

Мой конфиг app.yaml. файл:

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

threadsafe: true

manual_scaling:
  instances: 1

runtime_config:
  python_version: 3

resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

handlers:
- url: /imgages
  static_dir: imgages

- url: /.*
  script: app.app

beta_settings:
 cloud_sql_instances: foodmoodai:europe-west2:foodnmood-db

Заголовок файла mymain (external) app.py выглядит следующим образом:

# index page
import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import sys

#sys.path.append('/Users/crowledj/Mindfule/dash-flask-login/views/')
#sys.path.append('/Users/crowledj/Mindfule/dash-flask-login/flask_login/')

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__ , external_stylesheets=external_stylesheets)


#server=app.server

app.css.append_css({'external_url': 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css'})


from server import app, server
from flask_login import logout_user, current_user
import success, login, login_fd, logout
#import sqlalchemy

header = html.Div(
    className='header',
    children=html.Div(
        className='container-width',
        style={'height': '100%'},
        children=[
            html.Img(
                src='mindfule_company_logo.jpg',
                className='logo'
            ),
            html.Div(className='links', children=[
                html.Div(id='user-name', className='link'),
                html.Div(id='logout', className='link')
            ])
        ]
    )
)

app.layout = html.Div(
    [
        header,
        html.Div([
            html.Div(
                html.Div(id='page-content', className='content'),
                className='content-container'
            ),
        ], className='container-width'),
        dcc.Location(id='url', refresh=False),
    ]
)

И заголовок исходного файла, который дает макет страницы «Успешный вход в систему» ​​и все работающие функции тире, - это .., (обратите внимание - последний блок кода - это элемент «поля ввода» в Q).

import dash
#import dash_auth
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
from flask_login import current_user

#import dash_daq as daq
#import psycopg2
#from config import config


import psycopg2
from datetime import datetime


#db_user='test'
#db_pass='test1'
#db_name='foodnmood-db'
#INSTANCE_CONNECTION_NAME='foodmoodai:europe-west2:foodnmood-db'


from sqlalchemy import Table, Column, Integer, String, MetaData,create_engine
meta = MetaData()

#engine = create_engine('postgresql+psycopg2://postgres:Pollgorm1@/cloudsql/foodmoodai:europe-west2:foodnmood-db')
engine = create_engine('postgresql+psycopg2://postgres:Pollgorm1@/?host=/cloudsql/foodmoodai:europe-west2:foodnmood-db')


mealnMoodwithTimesnFoods = Table(
    'mealnMoodwithTimesnFoods', meta, 
    Column('time', String, primary_key = True),
    Column('id', String), 
    Column('food_1', String), 
    Column('food_2', String),
    Column('food_3', String), 
    Column('mood', String), 

)

meta.create_all(engine)


researchDict=pd.read_csv('./researchFindings2.csv')
food_perNutrient=pd.read_csv('./foods_perNutrientSheet - Sheet1.csv')

#prepare a .csv to use as the table
f_ptr= open("./nutrientRdas.csv","w")
f_ptr.write("Vitamin A,Vitamin B-6,Vitamin C,Vitamin D,Iron,Zinc,Magnesium,Vitamin B-12,Folic acid,Glucose,EPA\n")
f_ptr.close()

#user_1=User()

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


layout = html.Div([

    #html.Img(className = 'company_logo',
        #src = '/.mindfule_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',

                })
        ]), 

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

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