📜  柏林 - Python (1)

📅  最后修改于: 2023-12-03 15:40:22.334000             🧑  作者: Mango

柏林 - Python

简介

柏林是一个基于Python的全栈Web框架,它致力于提供高效、简单和灵活的开发方式。柏林的核心在于提供了一系列易于使用的工具和库,使得开发者能够更快速地开发Web应用程序。

特点
  • 快速开发:柏林提供了许多现成的工具和库,以便快速开发Web应用程序。
  • 灵活:柏林不会限制开发者使用哪种数据库、认证方式、模板引擎等等,它将灵活性作为最重要的一环。
  • 易用性:柏林的API设计简单明了,Document非常清晰,让开发者能够快速上手。
安装

使用 pip 安装柏林:

pip install berlin
Getting Started

以下是柏林的一个例子,Hello World程序:

from berlin import Berlin

app = Berlin()

@app.route("/")
def hello():
    return "Hello, World!"

if __name__ == "__main__":
    app.run()
进阶
ORM

柏林提供了一些ORM工具,为我们省去了手写SQL的麻烦。使用 ORM,只需定义一个Python类,就可以创建并操作数据库表。

from berlin import Berlin, BaseModel
from berlin.orm import StringField, IntegerField

class User(BaseModel):
    __table__ = "user"

    id = IntegerField(primary_key=True)
    name = StringField()
    age = IntegerField()

app = Berlin()

@app.route("/")
def index():
    user = User(name="John", age=20)
    user.save()
    return "User saved!"

if __name__ == "__main__":
    app.run()
模板引擎

柏林支持多种模板引擎,你可以使用你喜欢的任何一种。柏林默认使用 Jinja2 模板引擎。以下是一个使用 Jinja2 的例子:

from berlin import Berlin, render_template_string

app = Berlin()

@app.route("/")
def index():
    context = {"name": "John", "age": 20}
    return render_template_string("Hello, {{name}}! You are {{age}} years old.", context)

if __name__ == "__main__":
    app.run()
CSRF 防护

柏林提供了一个 CSRF 保护工具,它可以帮助我们防止 CSRF 攻击。只需在柏林的配置中,启用 CSRF 保护即可。

from berlin import Berlin

app = Berlin()

# 在配置中启用 CSRF 保护
app.config['CSRF_ENABLED'] = True

@app.route("/")
def index():
    return "Hello, World!"

if __name__ == "__main__":
    app.run()
身份验证

柏林提供了一些身份验证工具,帮助我们管理用户的身份验证。它支持多种认证方式,包括基本的用户名密码认证和 OAuth 认证等。

from berlin import Berlin, auth, login_required

app = Berlin()

# 定义用户
users = {"john": {"password": "123456"}}

# 用户认证
@app.route("/login", methods=["GET", "POST"])
@auth.login_required
def login():
    return "User authenticated!"

# 需要身份验证的路由
@app.route("/user")
@login_required
def user():
    return "Hello, John!"

if __name__ == "__main__":
    app.run()
总结

柏林是一个非常优秀的Web框架,它的设计简单、灵活,易于学习和使用。柏林提供了丰富的工具和库,让开发者可以更快速地开发Web应用程序。如果你正在寻找一个高效、简单和灵活的Web框架,那么柏林将是一个不错的选择。