【发布时间】:2021-11-20 08:35:22
【问题描述】:
当用户访问设置页面时,我正在尝试在 url 中显示我当前用户的用户名。但是,当我尝试从索引访问设置页面时,出现 404 错误
Not Found
The requested URL was not found on the server. If you entered the URL manually please check
your spelling and try again.
以及从导航访问任何其他页面时出现的未定义错误。 我的layout.html(相关部分):
<a href="{{ url_for('user', Users_username=user.username) }}" target="_blank" rel="noopener
noreferrer"> Settings</a>
模型.py:
class Users(db.Model, UserMixin):
__tablename__ = "users"
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(20), unique=True, nullable=False)
email = db.Column(db.String, unique=True, nullable=False)
image_file = db.Column(db.String(20), nullable=False, default='default.jpg')
password = db.Column(db.String(60), nullable=False)
posts = db.relationship('Post', backref='author', lazy=True)
Routes.py 中的函数:
@app.route("/user/<Users_username>" , methods=["GET", "POST"])
def user(Users_username):
user = Users.query.filter_by(username=Users_username).first()
if user is None:
flash(user)
return redirect(url_for('register'))
return render_template("settings.html", user=user)
我也尝试了本文中的每一步,每件事,但没有任何回报Python Flask displaying username in URL 唯一的区别是当我从
更改 layout.html<a href="{{ url_for('user', Users_username=user.username) }}" target="_blank" rel="noopener
noreferrer">Settings</a>
到
<a href="{{ url_for('user', Users_username=g.user) }}" target="_blank" rel="noopener
noreferrer">Settings</a>
从导航访问任何其他页面时,我没有收到未定义的错误,但仍然收到 404 错误。 在此先感谢。我已经坚持了 3 天,没有任何文章或视频得到回报。
【问题讨论】:
标签: python flask url routes flask-sqlalchemy