Python Web开发:单文件Django
来自CloudWiki
背景
django 能否以单一的Python文件形式来开发项目呢 ?
答案是肯定的。
实训步骤
导入依赖包
from django.conf import settings #配置文件钩子 from django.http import HttpResponse #返回一个响应 from django.urls import path #用于设置路由urlpatterns
加载配置文件
django加载配置文件有两种方式:
- 使用settings.configure(**settings)手动写每一项配置
- 使用django.setup()通过环境变量来配置:读取DJANGO_SETTINGS_MODULE的值,然后把它的值作为配置文件的路径。
test.py:
setting = {'DEBUG':True,'ROOT_URLCONF':__name__} settings.configure(**setting) #设置进入调试模式 #把urlpatterns这个变量写进这个文件中
视图处理函数
#视图处理函数 def home(request): return HttpResponse('Hello World')
配置路由URL
#配置路由URL urlpatterns = [ path('',home,name='home'), ]
编写运行主逻辑
在django框架中使用python manage.py运行项目,
实际其核心是通过调用django的execute_from_command_line(**command_line_args)来运行应用。
if __name__ == '__main__': import sys from django.core.management import execute_from_command_line execute_from_command_line(sys.argv)
运行测试
cd D:\Tech\Python Web\Python Web开发从入门到实战\mycode\singleDjango
python test.py runserver
运行在浏览器器中访问http://127.0.0.1:8000/即可看到页面上输出“hello world!"字样
通过14行代码就完成了一个单文件Django项目,其原理就是将原先Django框架下的位于各个文件中的配置、路由、视图放在同一个文件下。通过它,大家可进一步体会django各个模块的作用。
全部代码
from django.conf import settings #配置文件钩子 from django.http import HttpResponse #返回一个响应 from django.urls import path #用于设置路由urlpatterns setting = {'DEBUG':True,'ROOT_URLCONF':__name__} settings.configure(**setting) #设置进入调试模式 #把urlpatterns这个变量写进这个文件中 #视图处理函数 def home(request): return HttpResponse('Hello World') #配置路由URL urlpatterns = [ path('',home,name='home'), ] if __name__ == '__main__': import sys from django.core.management import execute_from_command_line execute_from_command_line(sys.argv)