使用Django返回helloworld
Posted 外包小何
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Django返回helloworld相关的知识,希望对你有一定的参考价值。
使用Django返回helloworld
一,Django的版本
安装Django直接使用pip install django
命令安装即可。下面进入terminal查下我电脑上安装的Django版本,如下图所示:
依次输入红框中的命令查看,我的Python版本是3.8.3(安装的Anaconda),Django版本是2.2.5。
二,新建Django项目
为了方便我使用pycharm直接新建Django项目,也可以在terminal里面输入命令,详情查看Django菜鸟教程。如下图所示:
输入project的目录后,我直接选的本地的Python 3.8作为interpreter,没有新建虚拟环境。也直接选择了新建application,后续因为新建application报错了,报错图片如下:
原因不详,可能是因为版本,没有新建成功也不影响本博客的功能,暂不搭理。新建完成后的目录结构如下图所示:
其中,views.py是我后面新建的,椭圆圈住的settings.py和urls.py是我后续在里面修改过的文件。修改地方极少,现在的web框架实在太过方便,使程序员尽可能集中在业务逻辑的实现上。
三,代码修改
新建views.py,我将views.py的代码贴在下面:
from django.http import HttpResponse
def helloworld(request):
if request.method == "GET":
return HttpResponse('HELLO WORLD')
else:
return HttpResponse("You just need get method")
想要实现的功能是,使用get方法获得hello world,如果不是get方法,则返回“You just need get method”。因为太过简单,没有request body,只使用get方法。
修改urls.py,以创建restapi接口链接,我将urls.py代码贴在下面:
from django.contrib import admin
from django.urls import path
from .views import helloworld
urlpatterns = [
path('admin/', admin.site.urls),
path('helloworld/', helloworld)
]
其中只有两行是我新添的。
至此功能已经完成了,总共不到10行代码,点了点鼠标就新建了个项目。输入以下命令启动服务,如下图所示:
四,测试
在postman中输入http://localhost:8080/helloworld/
测试post方法,希望获得“You just need get method”,遇到跨域报错。postman测试图片如下:
服务端显示信息如下图:
百度上查过后,注释掉settings.py中某行代码,即可解决这个问题,如下图所示:
重新运行项目后(修改后会自动重新编译运行),再次测试即可正常获得期望的结果,postman测试post和get图片分别如下:
服务端均显示200,成功收到response的信息,如下图所示:
有意思的是,如果不注释settings.py中的第46行,只有post方法遇到跨域问题,get方法没有这个问题,如下图所示:
五,总结
本文略过了restapi相关知识,不关心Django背后更复杂的内容,只是从单纯简单的hello world入手业务功能。
以上是关于使用Django返回helloworld的主要内容,如果未能解决你的问题,请参考以下文章