使用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的主要内容,如果未能解决你的问题,请参考以下文章

使用Django返回helloworld

使用Django返回helloworld

pycharm打开Django项目,并在浏览器返回HelloWorld

Django,启航Django的HelloWorld

Django,启航Django的HelloWorld

使用单文件运行Django显示HelloWorld