轻巧的Django,单文件实现。

2018-12-28  本文已影响0人  红煌流星

了解过flask的同学知道,flask实现一个网站很简单,只需要做几件事:实例化Flask,定义路由,定义网址内容,就像下面一样:

from flask import Flask 

app = Flask(__name__)  # 实例化

@app.route("/") #定义路由
def index():
    return "Hello world!"

只要flask run,就可以跑起来Hello, world了。
而我们使用Django的时候,要新建一个项目,就要 django-admin startproject project,这样起码会有四个文件,那么有没有简单的Django实现,像flask一样简短呢,答案是可以的。
实现最简短的Django,我们做这几件事:定义路由,定义视图函数,接受命令行参数。

settings.config(
    ROOT_URLCONF = name,
    )
urlpatterns = [
    path("', index)
    ]
def index(request):
    return HttpResponse("Hello, world.")
execute_from_command(sys.args)

下面就是具体的代码,为了支持调试模式,我们加入了DEBUG=True来开启调试模式。之后,只要命令行输入python hello.py runserver就可以跑起来了。可以看到,Django的实现也可以轻量化。
hello.py

from django.conf import settings
from django.path import HttpResponse
from django.urls import path
from django.core.management import execute_from_command_line

settings.config(
        DEBUG=True,
        ROOT_URLCONF=__name__,
        )

def index(requets):
    return HttpResponse("Hello, world!")

urlpatterns = [
    path("", index),
    ]

if __name__ == "__main__":
    execute_from_command_line(sys.argv)
上一篇 下一篇

猜你喜欢

热点阅读