Size: a a a

2020 November 19

A1

Adil 12345 in Python Flask
<div class="pricing-header px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center">
       {% if g.user %}
           <h1 class="container display-4">Показатель: {{pok_name}}</h1>
       <br>
       <form action="{{url_for('main.uploads_file_sheet_render')}}" method="post" enctype="multipart/form-data">
       <button type="submit" class="container btn btn-lg btn-block btn-outline-primary">Загрузить данные в базу данных </button>
       <br>
           <table class="container table">
               <thead>
                   <th scope="col">Область
                   {% for year in years %}
                   <th scope="col">{{ year }}</th>
                   {% endfor %}
               </thead>
               <tbody>
               {% for area in data %}
               <tr>
                   <th scope="row">{{ area }}</th>
                   {% for year in years %}
                   <td>{{ data[area].years.get(year,'-') }}</td>
                   {% endfor %}
               </tr>
               {% endfor %}
               </tbody>
           </table>
           </form>
источник

A1

Adil 12345 in Python Flask
Вот сам темплейт
источник

A1

Adil 12345 in Python Flask
В функции отрабатывает парсер и кнопка сабмит, которая запихивает данные в БД
источник

T

Tishka17 in Python Flask
Adil 12345
<div class="pricing-header px-3 py-3 pt-md-5 pb-md-4 mx-auto text-center">
       {% if g.user %}
           <h1 class="container display-4">Показатель: {{pok_name}}</h1>
       <br>
       <form action="{{url_for('main.uploads_file_sheet_render')}}" method="post" enctype="multipart/form-data">
       <button type="submit" class="container btn btn-lg btn-block btn-outline-primary">Загрузить данные в базу данных </button>
       <br>
           <table class="container table">
               <thead>
                   <th scope="col">Область
                   {% for year in years %}
                   <th scope="col">{{ year }}</th>
                   {% endfor %}
               </thead>
               <tbody>
               {% for area in data %}
               <tr>
                   <th scope="row">{{ area }}</th>
                   {% for year in years %}
                   <td>{{ data[area].years.get(year,'-') }}</td>
                   {% endfor %}
               </tr>
               {% endfor %}
               </tbody>
           </table>
           </form>
Так я не вижу чтобы ты тут передавал параметры
источник

A1

Adil 12345 in Python Flask
<form action="{{url_for('main.uploads_file_sheet_render')}}" method="post" enctype="multipart/form-data">
источник

T

Tishka17 in Python Flask
Ну
источник

w

walware"}}?>... in Python Flask
подскажите пожалуйста, у меня есть форма регистрации на сайте, в ней пользователь указывает свою почту и пароль.
После регистрации он может зайти на сайт и ввести текст и нажать кнопку, которая должна сделать запись в базу, как я могу сделать ассоциацию, что эта запись была создана от данного юзера, например как мне вписать его почту в бд, если ее в запросе к меня нету, но он авторизован
источник

T

Tishka17 in Python Flask
Adil 12345
<form action="{{url_for('main.uploads_file_sheet_render')}}" method="post" enctype="multipart/form-data">
Не вижу чтобы ты передавал в урлфор параметры
источник

A1

Adil 12345 in Python Flask
Tishka17
Не вижу чтобы ты передавал в урлфор параметры
Я просто попробовал без параметров, сейчас с параметром
источник

T

Tishka17 in Python Flask
Adil 12345
def uploads_file_sheet_render(filename, sheetnumber):
   sheet = xlutils.get_sheet_by_index(os.path.join(config.UPLOAD_FOLDER, filename), sheet_num=int(sheetnumber))
   data = xlutils.parse_sheet(sheet)

   pok_name = "ERROR"
   if len(data) > 0:
       pok_name = data[0]['pokazatel']

   years = []  # для использования в шапке таблицы
   by_areas = {}
   for item in data:
       year = item['year']
       area = item['area']

       if year not in years:
           years.append(year)
           # пустой словарь для добавления области

       if not by_areas.get(area):
           by_areas[area] = {}
           # пустой словарь для добавления лет

       if not by_areas[area].get('years'):
           by_areas[area]['years'] = {}

       by_areas[area]['years'][year] = item['value']

       """
       Для кнопки submit
       """
       if request.method == 'POST':
           parsed = xlutils.parse_sheet(sheet)
           for row in parsed:
               queryes.insert_row(row['pokazatel'], row['area'], row['year'], row['value'])
               queryes.db.commit()
           queryes.db.close()

   return render_template('uploads_file_sheet_render.html',
                          data=by_areas,
                          pok_name=pok_name,
                          years=years)
А как ты её регистрируешь?
источник

A1

Adil 12345 in Python Flask
Tishka17
А как ты её регистрируешь?
@main.route('/uploads/<filename>/<sheetnumber>', methods=['GET', 'POST'])
источник

T

Tishka17 in Python Flask
Adil 12345
Я просто попробовал без параметров, сейчас с параметром
Не вижу где ты пробуешь с параметром
источник

A1

Adil 12345 in Python Flask
А как лучше сделать инсерт данных в бд. У меня парсер отрабатывает
источник

T

Tishka17 in Python Flask
Какой резкий переход
источник

A1

Adil 12345 in Python Flask
Просто не знаю как подойти к этой задаче
источник

T

Tishka17 in Python Flask
Урл победил?
источник

A1

Adil 12345 in Python Flask
Tishka17
url_for(viewname, filename="xxx", sheetnumber="yyy")
В этой функции как передать параметры листа и названия файла?
источник

T

Tishka17 in Python Flask
Adil 12345
В этой функции как передать параметры листа и названия файла?
В смысле "как"?
источник

T

Tishka17 in Python Flask
Вот прям так берешь и пишешь
источник

T

Tishka17 in Python Flask
Вместо "ХХХ" можешь переменную написать
источник