wolverine777
@wolverine777

Как прописать доступ к route из html для залогиневшегося юзера?

Привет, прошу прощения за корявое название но по другому пока не знал как написать.

Необходимо чтобы каждый юзер после логина мог просмотреть список проектов которые он создал.
Пока что мне это удается лишь когда я вручную вписываю его имя в строку, примерно так: http://127.0.0.1:5000/name_of_user

Я бы хотел чтобы юзер мог это сделать более удобным способом - просто кликнув на ссылку "my projects".

Итак, у меня в app.py есть

@app.route("/<first_name>")
@login_required    # to make sure that user must be logged in to see that view
def user_posts(first_name):

    #requesting a page
    page = request.args.get('page',1,type=int)
    user = User.query.filter_by(first_name=first_name).first_or_404()

    # filtering the blog posts by username
    projects = Project.query.filter_by(author=user).order_by(Project.date.desc()).paginate(page=page, per_page=5) # comes from backref='author' on models.py
    return render_template('user_projects.html', projects=projects, user = user)


в base.html

{% if current_user.is_authenticated %}

          <li class="nav-link"> <a href="{{url_for('logout')}}">Log OUT</a> </li>

          <li class="nav-link"> <a href="{{url_for('project')}}">SUBMIT A PROJECT</a> </li>

          <li class="nav-link"> <a href="{{url_for('#')}}">my projects</a> </li>

        {% endif %}


Что нужно прописать в <a href="{{url_for('#')}}">my projects</a> ?

Такое вот, разумеется, не работает.
<a href="{{url_for('<first_name>')}}">my projects</a>

Такое тоже
<li class="nav-link"> <a href="{{url_for('{{current_user.first_name}}')}}">my projects</a> </li>


Мне всего лишь хотелось бы чтобы по ссылке появлялось имя залогиневшегося юзера.

Спасибо
  • Вопрос задан
  • 39 просмотров
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos
Сессии используйте. Не нужно в урле передавать имя юзера. Нужно на стороне бекенда понимать кто стучится с запросом. Для этого есть сессии/куки вот это всякое. На хабре был отличный цикл статей и там это рассмотрено
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы