本篇文章给大家谈谈python搭建网站并在服务器上部署,以及Python搭建网站的基本模板,希望对各位有所帮助,不要忘了收藏本站喔。
前言
在本篇文章中,我将介绍如何使用Python创建一个简单的网站。本文将涵盖以下主题:
- 选择合适的Web框架python简单代码控制小车。
- 安装必要的软件包。
- 创建网站功能。
- 将功能添加到网站模板中。
- 部署网站到服务器。
选择合适的Web框架
在开始创建网站之前,您需要选择一个适合您的Web框架。Python有许多Web框架,其中一些包括:
- Django
- Flask
- Pyramid
- Bottle
- Tornado
对于本文,我们将使用Flask。 Flask是一个轻量级的Web框架,容易学习和使用,并且具有良好的文档和社区支持。
安装必要的软件包
在您开始创建网站之前,您需要安装一些必要的软件包。 您可以使用pip来安装这些软件包。 下面是安装必要的软件包的命令:
$ pip install Flask
$ pip install Flask-WTF
创建网站功能
一旦您安装了必要的软件包,您可以开始创建网站功能。 在这个例子中,我们将创建一个简单的网站,让用户输入他们的名字,并向他们问候。
首先,我们需要创建一个名为app.py的文件。 这个文件将包含我们的Flask应用程序。 在app.py中,我们需要导入Flask和其他必要的软件包:
from flask import Flask, render_template, request
from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret_key'
在上面的代码中,我们导入Flask,渲染模板和请求。 我们还导入了使用FlaskForm中的字符串字段和提交字段的模块。 最后,我们设置了一个名为SECRET_KEY的变量。 SECRET_KEY是Flask应用程序的安全密钥。
接下来,我们需要创建一个Flask表单,它将要求用户输入他们的名字。 在Flask表单中,我们将创建一个名为NameForm的类。 这个类将包含一个名为name的字符串字段和一个名为submit的提交字段。 然后,我们将使用render_template函数来渲染表单和模板:
class NameForm(FlaskForm):
name = StringField('What is your name?', validators=[DataRequired()])
submit = SubmitField('Submit')
@app.route('/', methods=['GET', 'POST'])
def index():
form = NameForm()
if form.validate_on_submit():
name = form.name.data
return render_template('greeting.html', name=name)
return render_template('index.html', form=form)
在上面的代码中,我们定义了一个index函数,它接受GET和POST请求。 我们创建了一个NameForm表单,并使用render_template函数渲染index.html模板。 如果表单被提交,我们将从表单获取用户的名字,并使用render_template函数渲染greeting.html模板。
现在,我们需要创建index.html模板和greeting.html模板。 index.html模板将包含我们的表单,而greeting.html模板将包含问候语。 在index.html中,我们将使用FlaskForm表单来创建一个输入字段和一个提交按钮:
{% extends 'base.html' %}
{% block content %}
<h1>Enter your name:</h1>
<form method="POST">
{{ form.hidden_tag() }}
{{ form.name.label }} {{ form.name() }}
{{ form.submit() }}
</form>
{% endblock %}
在上面的代码中,我们扩展了base.html模板。 我们使用form.hidden_tag()来包含安全标记。 然后,我们使用form.name.label来显示输入字段的标签,并使用form.name()来显示输入字段本身。 最后,我们使用form.submit()来显示提交按钮。
在greeting.html模板中,我们将使用用户输入的名称来创建一条问候语:
{% extends 'base.html' %}
{% block content %}
<h1>Hello, {{ name }}!</h1>
{% endblock %}
在上面的代码中,我们扩展了base.html模板,并使用{{ name }}来显示问候语。
将功能添加到网站模板中
现在,我们已经创建了网站的功能,我们需要将这些功能添加到网站模板中。 在这个例子中,我们将使用Bootstrap来创建网站模板。
首先,我们需要在头部中包含Bootstrap样式表和脚本。 我们可以通过将以下代码添加到base.html模板的<head>标签中来实现这一点:
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
< src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></>
< src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></>
< src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></>
然后,我们需要使用Bootstrap创建一个基本布局。 我们可以使用以下代码来创建基本布局:
{% extends 'base.html' %}
{% block content %}
<div class="container">
<div class="row">
<div class="col-md-6 mx-auto">
<h1 class="text-center">My website</h1>
<hr>
{% block page_content %}
{% endblock %}
</div>
</div>
</div>
{% endblock %}
在上面的代码中,我们创建了一个包含标题和水平线的<div>标记。 我们使用Bootstrap的网格系统将内容放在一个包含一个列的行中。 我们还使用了一个名为page_content的块,在这里我们将放置我们的网站功能。
现在,我们只需要在块中包含我们的网站功能即可。 我们可以使用以下代码来完善我们的模板:
{% extends 'layout.html' %}
{% block page_content %}
<h2>Welcome to my website!</h2>
<p>Please enter your name:</p>
<form method="POST">
{{ form.hidden_tag() }}
<div class="form-group">
{{ form.name.label(class="form-control-label") }}
{{ form.name(class="form-control") }}
</div>
<div class="form-group">
{{ form.submit(class="btn btn-primary") }}
</div>
</form>
{% endblock %}
在上面的代码中,我们使用了一个包含欢迎消息和一句提示的<h2>标记。 然后,我们使用一个包含表单的<form>标记,并使用Bootstrap的表单组件来创建输入字段和提交按钮。 最后,我们在表单中包含了一个隐藏的安全标记。
部署网站到服务器
现在我们已经完成了网站的开发,我们需要将它部署到服务器上。 在这个例子中,我们将使用Heroku来部署我们的网站。
首先,我们需要将我们的代码推送到GitHub,并在Heroku上创建一个新的应用程序。 然后,我们需要将我们的代码连接到Heroku。 我们可以使用以下命令来完成这一步:
$ heroku login
$ git remote add heroku https://git