Python 在Django中生成api而不生成模型和视图
我将在django中创建一个api,当前仅在点击url时返回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
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协议的工作方式。