如何解决如何使用 Django Rest Framework 通过 Javascript 文件调用 API
我之前在 Django 中做过一些项目,但我从来没有使用过 Django Rest 框架做过一个,这是我第一次使用 API。
我正在尝试学习如何使用它,我正在学习的课程要求必须在 Django 中创建项目,并使用 Javascript 作为前端。
2 个问题:
我想在 Javascript 代码中调用 API。这可以使用 Django Rest 框架完成吗?
我也无法弄清楚如何使用此 url 设置显示我的 html 文件。任何帮助表示赞赏。目前,当我转到 http://127.0.0.1:8000/ 时,我只会看到 API 根页面。
到目前为止,我看到的大多数教程都只是为了在 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")
capstone/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)
解决方法
当您访问“/”时,您正在获取 API 根页面,因为您有两个相同路径的 url
path('',include(router.urls)),path("",views.home,name="home")
它首先与 router.urls
匹配,这就是为什么它会转到 api 根页面。如果您想在“/”上获得主页,请更改第一个网址。
您还可以通过使用 fetch 之类的东西来利用 Javascript 中的 API。
此外,我认为您需要在进入该项目之前了解更多有关 DRF 的知识。您可以查看文档 here。你也可以从youtube上学习,有很多很好的内容教你DRF。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。