小编diz*_*zzy的帖子

React Flask Heroku App不显示前端

问题摘要

我最近尝试将我的本地应用程序部署到Heroku.它使用Flask后端和React/Redux前端构建.在完成Heroku的复杂(procfiles,它读取package.json等)后,我能够得到后端显示(例如:flask-admin部分和我的数据库一样),但是我我仍然无法到达我网站的前端(反应)部分.我可以在Heroku日志和本地版本中看到没有错误,当我启动我的python服务器并NPM start在静态目录中运行时,我的应用程序工作得很好.

知道为什么前端不会显示或如何访问它?


日志:

我从细节中删除了一些敏感信息,但是heroku logs --tail当我尝试刷新应用程序时,这就是我的内容.

2018-02-11T01:18:01.000000+00:00 app[api]: Build succeeded
2018-02-11T01:21:12.305017+00:00 heroku[web.1]: Starting process with command `gunicorn main:app`
2018-02-11T01:21:16.374150+00:00 heroku[web.1]: State changed from starting to up
2018-02-11T01:21:15.948707+00:00 app[web.1]: [2018-02-11 01:21:15 +0000] [4] [INFO] Starting gunicorn 19.6.0
2018-02-11T01:21:15.949430+00:00 app[web.1]: [2018-02-11 01:21:15 +0000] [4] [INFO] Listening at: http://0.0.0.0:29162



2018-02-11T01:21:19.278810+00:00 heroku[router]: at=info method=GET path="/" host=removed.herokuapp.com request_id=bd74ea4c-3e3a-403b-8850-198b7dec20e2 fwd="104.152.1.62" dyno=web.1 connect=1ms service=2146ms status=200 bytes=2895 protocol=https
2018-02-11T01:21:19.650759+00:00 heroku[router]: at=info method=GET path="/dist/bundle.css" host=removed.herokuapp.com request_id=48183249-fb12-4c7a-9a53-2a57ab58d89b fwd="104.152.1.62" dyno=web.1 connect=0ms service=3ms status=200 bytes=2895 protocol=https …
Run Code Online (Sandbox Code Playgroud)

python heroku node.js reactjs webpack

7
推荐指数
1
解决办法
1633
查看次数

Flask和SQLalchemy NoForeignKeysError:无法确定关系User.posts上的父/子表之间的连接条件

我开始使用Mega Flask教程来构建一个简单的博客风格网站.我用这个与一些python学习相关,试图加强我学到的东西.为了更多地学习,我决定将教程弃用OAuth登录文章转换为传统的登录栏.当我尝试登录时,我遇到了一个问题.

NoForeignKeysError:无法确定关系User.posts上的父/子表之间的连接条件 - 没有链接这些表的外键.确保引用列与ForeignKey或ForeignKeyConstraint相关联,或指定"primaryjoin"表达式.

由于我对Python的理解有限,我在这里遇到了一个很大的障碍.我似乎无法弄清楚我做错了什么.

这是我的models.py文件.

followers = db.Table('followers',
            db.Column('follower_id', db.Integer, db.ForeignKey('user.id')),
            db.Column('followed_id', db.Integer, db.ForeignKey('user.id'))
            )

class User(db.Model):
    __tablename__ = "users"
    id = db.Column(db.Integer, primary_key=True)
    nickname = db.Column(db.String(64), index=True, unique=True)
    email = db.Column(db.String(120), index=True, unique=True)
    password = db.Column(db.String(100))
    posts = db.relationship('Post', backref='author', lazy='dynamic')
    about_me = db.Column(db.String(140))
    last_seen = db.Column(db.DateTime)
    followed = db.relationship('User',
                                secondary=followers,
                                primaryjoin=(followers.c.follower_id == id),
                                secondaryjoin=(followers.c.followed_id == id),
                                backref=db.backref('followers', lazy='dynamic'),
                                lazy='dynamic')

    #reviews = db.relationship('Review', backref='author', lazy='dynamic') This is the review connectino for the user. 

    @staticmethod
    def make_unique_nickname(nickname):
        if …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask flask-sqlalchemy flask-login

5
推荐指数
2
解决办法
1万
查看次数

Postgres SQL 文件中的 CONNECT

SQL 文件 是否有用于连接数据库的命令?

我想创建一个数据库,然后立即开始用表和数据填充它。所有内容都包含在一个.sql文件中。我不知道有什么可以替代\cshell 命令吗?

SQL 文件示例:

CREATE DATABASE mydb;
CREATE USER myusername WITH PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON DATABASE mydb TO myusername;
CONNECT TO mydb USER myusername; --<-- something like this?

CREATE TABLE administrator (
    id integer NOT NULL,
    admin_name character varying(150),
    password character varying(255),
    active boolean,
    "timestamp" timestamp without time zone,
    email character varying(255)
);


ALTER TABLE administrator OWNER TO myusername;
Run Code Online (Sandbox Code Playgroud)

CONNECT 是我在文档中找到的最接近的东西,但它遇到了语法错误。我也找不到指定表应该去哪里的包装器?

ERROR: syntax error at or near "CONNECT"

sql postgresql

5
推荐指数
1
解决办法
6168
查看次数

Flask-Uploads IOError:[Errno 2]没有这样的文件或目录

因此,我一直在尝试将图像上传器添加到我的代码中,但是却遇到了问题。即使我认为自己的upload_folder配置正确,但仍会收到类似以下错误:IOError: [Errno 2] No such file or directory: '/static/uploads/compressor.jpg' 即使文件/目录存在。

这是代码:

在config.py中

UPLOAD_FOLDER = 'static/uploads'
Run Code Online (Sandbox Code Playgroud)

初始化的.py

app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
Run Code Online (Sandbox Code Playgroud)

在views.py中

@app.route('/fileupload', methods=['GET', 'POST'])
def upload_file():
    if request.method == 'POST':
        #check if the post request has the file part
        if 'file' not in request.files:
            flash('No file part')
            return redirect(request.url)
        file = request.files['file']
        # if user does not select file, browser also
        #submit an empty part without filename
        if file.filename == '':
            flash('No selected file')
            return redirect(request.url) …
Run Code Online (Sandbox Code Playgroud)

python file-upload flask flask-uploads

4
推荐指数
2
解决办法
9822
查看次数

OwnProps Match和Params是未定义的React-Router V3

尝试id从我的网址中获取,以便可以将其用于fetchData componentDidMount。我还使用它来设置组件中的某些状态以在页面上显示信息。但是,两者ownProps.matchownProps.params始终都无法定义。我已经尝试了很多事情,但我能想到的是我的/ route在thing /:id之前匹配,这会导致问题?

(我可以使用任何一个,但它们会失败,就像这样)。 TypeError: this.props.params is undefined TypeError: this.props.match is undefined

这是我的路线:

export default (
  <Route path="/" component={App}>
    <Route path="login" component={requireNoAuthentication(LoginView)} />
    <Route path="register" component={requireNoAuthentication(RegisterView)} />
    <Route path="home" component={HomeContainer} />
    <Route path="thing/:id" component={ThingContainer} />
    <Route path="category" component={CategoryContainer} />
    <Route path="analytics" component={requireAuthentication(Analytics)} />
    <Route path="basic" component={requireNoAuthentication(BasicContainer)} />
    <Route path="*" component={DetermineAuth(NotFound)} />
  </Route>
);
Run Code Online (Sandbox Code Playgroud)

mapStateToProps在这里(我一直在注释掉,thing直到我能找出问题,所以可以忽略该问题)。我真正看到问题的地方是const {id}部分。

function mapStateToProps(state, ownProps) {
  console.log(ownProps);
  return {
    data: state.data,
    token: state.auth.token,
    loaded: state.data.loaded,
    isFetching: state.data.isFetching, …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router redux

4
推荐指数
1
解决办法
2009
查看次数

Skaffold Kubernetes 不显示 React 更改

问题:

运行 skaffold 并更新监视的文件时,我看到文件同步更新发生并且 nodemon 重新启动服务器,但刷新页面不会显示更改。直到我完全停止 skaffold 并重新启动后,我才看到变化。

Syncing 1 files for test/dev-client:e9c0a112af09abedcb441j4asdfasfd1cf80f2a9bc80342fd4123f01f32e234cfc18
Watching for changes every 1s...
[client-deployment-656asdf881-m643v client] [nodemon] restarting due to changes...
[client-deployment-656asdf881-m643v client] [nodemon] starting `node bin/server.js`
Run Code Online (Sandbox Code Playgroud)

设置:

我有一个简单的微服务应用程序。它有一个服务器端(flask/python)和一个客户端(react),可以快速处理开发服务器。我让 nodemon 使用旧版监视标志为 true(对于 Chokidar 轮询)。在开发中,我通过 Docker for Mac 使用 Kubernetes。

代码:

我很高兴发布我的代码以提供帮助。让我知道哪些是最需要的。

这里有一些初学者:

Skaffold.yaml:

apiVersion: skaffold/v1beta7
kind: Config
build:
  local:
    push: false
  artifacts:
    - image: test/dev-client
      docker:
        dockerfile: Dockerfile.dev
      context: ./client
      sync:
        '**/*.css': .
        '**/*.scss': .
        '**/*.js': .
    - image: test/dev-server
      docker:
        dockerfile: Dockerfile.dev
      context: ./server
      sync: …
Run Code Online (Sandbox Code Playgroud)

reactjs nodemon kubernetes skaffold

3
推荐指数
1
解决办法
1050
查看次数