Браузер зависает при попытке загрузить страницу из приложения flask - PullRequest
1 голос
/ 06 августа 2020

Я создаю веб-приложение, в котором перечислены исполнители, места проведения и шоу. Когда пользователь нажимает на место в списке, он должен перенаправить его на страницу этого места. Вместо этого просто зависает. Он никогда не перемещается со страницы со списком мест проведения, полоса загрузки в браузере начинает загружаться, но зависает примерно на 15-20%. Ошибка не возвращается, я подождал несколько минут, но он просто не двигается.

Я отправляю код маршрута, но вы также можете проверить репозиторий Github для полного кода, если это необходимо.

@app.route('/venues/<int:venue_id>')
def show_venue(venue_id):
  # shows the venue page with the given venue_id
  # TODO: replace with real venue data from the venues table, using venue_id
  # NOT WORKING YET
  
  # query db for the venue's ID
  venuequery = Venue.query.get(venue_id)

  # if it finds a venue with that ID
  if venuequery:
    venue_details = Venue

    data = {
      "id": venue_details.id, 
      "name": venue_details.name, 
      "genres": venue_details.genres, 
      "addres": venue_details.address, 
      "city": venue_details.city, 
      "state": venue_details.state, 
      "phone": venue_details.phone, 
      "website": venue_details.website, 
      "facebook_link": venue_details.facebook_link, 
      "seeking_talent": venue_details.seeking_talent, 
      "seeking_description": venue_details.seeking_description, 
      "image_link": venue_details.image_link, 
      }
     return render_template('pages/show_venue.html', venue=data)

Изменить: когда я добавляю print(data) перед return, выводится следующее:

{'id': <sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f83904780e0>, 'name': <sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f8390478180>, 'genres': <sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f83904784a0>, 'addres': <sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f8390478360>, 'city': <sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f8390478220>, 'state': <sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f83904782c0>, 'phone': <sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f8390478400>, 'website': <sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f8390478680>, 'facebook_link': <sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f83904785e0>, 'seeking_talent': <sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f8390478720>, 'seeking_description': <sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f83904787c0>, 'image_link': <sqlalchemy.orm.attributes.InstrumentedAttribute object at 0x7f8390478540>}

1 Ответ

2 голосов
/ 06 августа 2020

Используйте это

# if it finds a venue with that ID
  if venuequery:
    venue_details = venuequery          # Pass class object instead of class itself

вместо этого

# if it finds a venue with that ID
  if venuequery:
    venue_details = Venue
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...