【问题标题】:How to Use Django Rest Framework to Call API with Javascript Files如何使用 Django Rest 框架通过 Javascript 文件调用 API
【发布时间】:2021-08-09 07:12:05
【问题描述】:

我之前在 Django 中做过一些项目,但我从来没有使用过 Django Rest 框架,这是我第一次使用 API。

我正在尝试学习如何使用它,而我正在学习的课程强制要求在 Django 中创建项目,并使用 Javascript 作为前端。

2 个问题:

我想在 Javascript 代码中调用 API。这可以使用 Django Rest 框架来完成吗?

我也无法弄清楚如何使用此 url 设置显示我的 html 文件。任何帮助表示赞赏。目前,当我转到http://127.0.0.1:8000/ 时,我只获得了 API Root 页面。

到目前为止,我看到的大多数教程都只是用于在 Django 视图中调用 API。他们没有谈论如何使用 Javascript 文件来调用 API 以及 Django Rest 框架,并将 html 文件显示给用户。如果您能指出我的文档或更多解释,我将不胜感激!

views.py - 当前主视图没有显示或执行任何操作,但我希望将其显示给用户。

class LocationViewSet(viewsets.ModelViewSet):
    queryset = Location.objects.all()
    serializer_class = LocationSerializer()

def home(request):
    return render(request, "capstone/home.html")

顶点/urls.py

router = routers.DefaultRouter()
router.register(r'locations', views.LocationViewSet)

urlpatterns = [
    path('', include(router.urls)),
    path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    path("", views.home, name="home"),
    path("temp", views.temp, name="temp"), 
   ] 

天气/urls.py

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('capstone.urls')), # medium site says to do this
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

【问题讨论】:

    标签: django rest django-rest-framework django-views django-urls


    【解决方案1】:

    当您访问“/”时,您将获得 API 根页面,因为您有两个相同路径的 url

    path('', include(router.urls)),
    path("", views.home, name="home")
    

    它首先与router.urls匹配,这就是为什么它会去api根页面。如果您想在“/”上获得主页,请更改第一个网址。

    您还可以通过使用 fetch 之类的东西来使用 Javascript 中的 API。

    另外,我认为您需要在进入项目之前了解更多有关 DRF 的知识。您可以查看文档here。你也可以在 youtube 上学习,有很多很好的内容教你关于 DRF。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-11
      • 2020-05-15
      • 1970-01-01
      • 2017-02-19
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      相关资源
      最近更新 更多