делать поиск в базе данных python / flask нет sql - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь заставить работать функцию поиска. У меня есть база данных с использованием Excel, и я хотел бы иметь возможность искать ее в пути. Я застрял, пытаясь заставить форму поиска работать. Ниже приведен код на python для формы:

from forms import ComicSearchForm

@app.route('/make_search', methods=['GET', 'POST'])
def search():

    search = ComicSearchForm(request.form)
    if request.method == 'GET, POST':
        return search_results(result)

    return render_template('search.html', form=search)


@app.route('/search')
# @login required
def search_results(result):
    bob = create_bob('*', '*', '*', '*', '*', '*')
    bobby = []
    current_page = request.args.get('page', 1, type=int)
    per_page = 10
    end = (current_page * per_page) + 1
    if end > len(bob):
        end = len(bob)
    start = ((current_page - 1) * per_page) + 1

    sort_bob = sorted(bob, key=lambda v: (v.issue_type, v.publisher, v.sort, v.character, v.volume, v.issues,
                                          v.publication_date))
    if datetime.strptime(sort_bob[0][7], '%B, %Y') >= datetime.now():
        sort_bob = sorted(sort_bob, key=lambda v: (v.publication_date, '%B, %Y'))

        for result in bob[start:end]:
            if result.bob.series_title == str.find(''):
                bobby.append(result)
    next = str(current_page + 1) if end < len(bob) else '0'
    prev = str(current_page - 1)

    if not result:
        flash('No results found!')
        return redirect('make_search')
    else:
        # display results
        return render_template('search.html', bobby=bobby, header=original_header, next=next, prev=prev)

Вот форма:

from wtforms import Form, StringField, SelectField


class ComicSearchForm(Form):
    choices = [('Series Title', 'Series Title'),
                ('Author', 'Author'),
                ('Artist', 'Artist'),
                ('Publisher', 'Publisher'),
                ('Publication Date', 'Publication Date')]
    select = SelectField('Search for comics:', choices=choices)
    search = StringField('')

Я застрял, пытаясь понять:

for result in bob[start:end]:
            if result.bob.series_title == str.find(''):
                bobby.append(result)

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

Спасибо

Zach

...