Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Django中生成api而不生成模型和视图_Python_Django_Django Rest Framework - Fatal编程技术网

Python 在Django中生成api而不生成模型和视图

Python 在Django中生成api而不生成模型和视图,python,django,django-rest-framework,Python,Django,Django Rest Framework,我将在django中创建一个api,当前仅在点击url时返回hello world。我刚接触python和django,发现在django中工作有点困难,因为长期使用PHP及其框架 我遵循了教程,但这需要我制作模型,模板。但我的要求很简单。我怎样才能做到这一点。当我点击DJango应用程序的url时,它将返回hello world或将来的任何json对象。您定义了一个视图,该视图将返回HTTP响应: # app/views.py from django.http import HttpResp

我将在django中创建一个api,当前仅在点击url时返回
hello world
。我刚接触python和django,发现在django中工作有点困难,因为长期使用PHP及其框架


我遵循了教程,但这需要我制作
模型
模板
。但我的要求很简单。我怎样才能做到这一点。当我点击DJango应用程序的url时,它将返回
hello world
或将来的任何json对象。

您定义了一个视图,该视图将返回HTTP响应:

# app/views.py

from django.http import HttpResponse

def some_view(request):
    return HttpResponse('hello world')
然后在
url.py
中注册视图:

# app/urls.py

from django.urls import url
from app.views import some_view

urlpatterns = [
    url('^my_url/$', some_view),
]
(假设这是根
URL.py
,或者至少有一些路径指向这些URL模式

然后,您可以运行服务器,并使用
localhost:8000/my\u url/
访问此页面(或者使用另一个url,前提是您对其进行了不同的配置)

您可以通过以下方式生成JSON blob:

# app/views.py

from django.http import JsonResponse

def some_view(request):
    return JsonResponse({'world': 'earth', 'status': 'hello'})

您可以定义一个返回HTTP响应的视图:

# app/views.py

from django.http import HttpResponse

def some_view(request):
    return HttpResponse('hello world')
然后在
url.py
中注册视图:

# app/urls.py

from django.urls import url
from app.views import some_view

urlpatterns = [
    url('^my_url/$', some_view),
]
(假设这是根
URL.py
,或者至少有一些路径指向这些URL模式

然后,您可以运行服务器,并使用
localhost:8000/my\u url/
访问此页面(或者使用另一个url,前提是您对其进行了不同的配置)

您可以通过以下方式生成JSON blob:

# app/views.py

from django.http import JsonResponse

def some_view(request):
    return JsonResponse({'world': 'earth', 'status': 'hello'})

您不需要模型,但需要视图才能响应请求。因此,我只需要一个指向视图中该函数的url路由?然后在该函数中返回
\hello world
?您不需要模型,但需要视图才能响应请求。因此,我只需要指向该函数的url路由查看?然后在该函数中返回
\hello world
?让我测试一下,明白这一点后会返回给您!事实上,django的东西非常新:我已经测试过了,它工作起来很有魅力!我只有一个问题,我必须将参数传递到url,就像现在的
http://127.0.0.1:8000/my_url/
工作很好,但将来我必须做
http://127.0.0.1:8000/my_url/name=“任意名称”
,我想在view@fatpotato:您可以使用命名组()定义URL以捕获值。但上面的内容相当“undjango”,一个典型的URL是
localhost:8000/my\u URL/any\u name
。或者,如果它是一个GET参数,则可以使用
request.GET
(那么URL就像
localhost:8000/my_URL?name=any+name
。实际上我试着使用
http://127.0.0.1:8000/my_url/fatpotato
但它给了我404错误。@fatpoto:不适用于POST请求,因为POST的数据被添加到HTTP请求头中。这不是Django特有的,这是HTTP协议的工作方式。ju让我来测试一下,明白了这一点,你会知道的!事实上,django的东西非常新:我已经测试过了,它很有魅力!我只有一个问题,我必须把参数传递给url,就像现在的
http://127.0.0.1:8000/my_url/
工作正常,但将来我必须做
http://127.0.0.1:8000/my_url/name='any name'
我想在view@fatpotato:您可以使用命名组()定义URL以捕获值。但上面的内容相当“un Django”,典型的URL是
localhost:8000/my\u URL/any\u name
。或者,如果它是GET参数,则可以使用
request.GET
(那么URL就像
localhost:8000/my_URL?name=any+name
。实际上我试着使用
http://127.0.0.1:8000/my_url/fatpotato
但它给了我404错误。@fatpoto:不适用于POST请求,因为POST的数据被添加到HTTP请求头中。这不是Django特有的,这是HTTP协议的工作方式。