Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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 如何修改views.py和url.py以启用Django应用程序的端点?_Python_Django - Fatal编程技术网

Python 如何修改views.py和url.py以启用Django应用程序的端点?

Python 如何修改views.py和url.py以启用Django应用程序的端点?,python,django,Python,Django,在我的Django应用程序中,我想修改url.py,以便将端点users添加为localhost:8000/users: from rest_framework import routers # ... router = routers.DefaultRouter() router.register(r'users', ???) urlpatterns = [ path('admin/', admin.site.urls), path(r'', include(ro

在我的Django应用程序中,我想修改
url.py
,以便将端点
users
添加为
localhost:8000/users

from rest_framework import routers

# ...

router = routers.DefaultRouter()
router.register(r'users', ???)

urlpatterns = [
    path('admin/', admin.site.urls),    
    path(r'', include(router.urls))
]
但是,我不知道如何修改
views.py
以启用端点。我应该在
views.py
中创建一个类吗

from django.http import HttpResponse
import pandas as pd
import datetime
import json

def index(request):
    #...

    response_data = {}
    response_data['prediction'] = y_pred
    response_data['probability'] = round(y_prob,2)
    response_json = json.dumps(response_data)

    return HttpResponse(response_json)

如果我理解正确,您只需要一个URL返回一些JSON,您只需以通常的方式更改
URL.py

url.py

from [app-name] import views

urlpatterns = [
    #...,    
    path("users", views.users_endpoint, name='users_endpoint'),
    #...,
]
# ...
def users_endpoint(request):
    #...

    response_data = {}
    response_data['prediction'] = y_pred
    response_data['probability'] = round(y_prob,2)
    response_json = json.dumps(response_data)

    return HttpResponse(response_json)
视图.py

from [app-name] import views

urlpatterns = [
    #...,    
    path("users", views.users_endpoint, name='users_endpoint'),
    #...,
]
# ...
def users_endpoint(request):
    #...

    response_data = {}
    response_data['prediction'] = y_pred
    response_data['probability'] = round(y_prob,2)
    response_json = json.dumps(response_data)

    return HttpResponse(response_json)
因此
urls.py
中的条目是:

当路径为
ROOT\u URL/users
时,从应用程序中的
views.py
文件调用视图
users\u端点<代码>[应用程序名称]


谢谢什么是
[app name]
?我有以下结构:my_app/views.py和my_app/url。py@ScalaBoy在这种情况下,如果您遵循通常的Django结构,那么您的
[app name]
应该是
my\u app
。所以你可以在我的应用程序导入视图中说
。如果你是Django的新手,我强烈推荐这是官方的Django教程,它确实帮助我有了一个坚实的开始。