我正在使用Flask进行项目。运行该应用程序时出现错误。 这是我的python代码。
from flask import Flask,render_template
app = Flask(__name__)
app.route('/login')
app.route('/')
def login():
return render_template('login.html')
if __name__ == '__main__':
app.run(debug=True)
这是我要呈现的HTML页面。
{% extends 'base.html' %}
{% block title %}
Login | Websitename
{% endblock %}
{% block custom_styles %}
<style>
div.card, .login{
justify-content: center;
}
</style>
{% endblock %}
{% block main_content %}
<div class="d-flex login">
<div class="card d-flex">
<div class="card-body">
<h3 class="card-header">Login</h3>
<input type="text" name="email" placeholder="Email or Username">
<input type="password" name="password" placeholder="Password">
<button type="submit" name="button" class="btn btn-block btn-primary">LOGIN</button>
</div>
</div>
</div>
{% endblock %}
这是base.html代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="stylesheet" href="{{ url_for('static',filename='bootstrap.min.css') }}">
<title>{% block title %}{% endblock %}
</title>
{% block custom_styles %}{% endblock %}
</head>
<body>
{% block main_content %}{% endblock %}
<script src="{{ url_for('static',filename='bootstrap.min.js') }}" charset="utf-8"></script>
<script src="{{ url_for('static',filename='jquery.min.js') }}" charset="utf-8">
</script>
<script src="{{ url_for('static',filename='popper.min.js') }}" charset="utf-8">
</script></body></html>
我正在使用PyCharm IDE。 我从另一个烧瓶项目复制了venv文件夹(仅flask和其他库文件),该项目也使用了该项目使用的库。 复制venv文件夹的库文件是否可以,或者我必须为此项目或代码中的其他错误再次安装所有库。
预先感谢...:)This is the error i am getting.
答案 0 :(得分:0)
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/')
@app.route('/login/')
def login():
return render_template('login.html')
if __name__ == '__main__':
app.run(debug=True)
您正在为'/'定义函数,而不是登录。 让我知道这是否有效
答案 1 :(得分:0)
您在装饰器上缺少@
。您的视图函数必须按以下方式定义:
@app.route('/login')
@app.route('/')
def login():
return render_template('login.html')
否则,装饰器将不会应用于任何内容,因此不会将您的功能添加为通往烧瓶应用程序的路线的视图。
您可以在介绍装饰器的PEP中了解更多信息。
答案 2 :(得分:0)
您的装饰器看起来不正确:
app.route('/login')
app.route('/')
def login():
return render_template('login.html')
尝试添加@字符:
@app.route('/login')
@app.route('/')
def login():
return render_template('login.html')