当前位置: 首页 > 知识库问答 >
问题:

Django React->fetch/axios

姚骁
2023-03-14

我想从React获取数据到Django后端,并用'request'请求url中的参数。收到获取(“,无)”[或备选方案?]。最好的情况是针对多个参数或体内的解决方案。每个教程都只显示fetch to模型,但我为request或create()找到的所有引用都是视图中的参数。py(在视图中使用值执行其他操作)不起作用。

//Form.js
var url = 'http://127.0.0.1:8000/api/'+'?name='+name+'/'
axios.post(url, { title: title,
                  value1: value1,
                  value2: value2,
                })    
          





            

我想从url中刮取'name'(在接下来的步骤中,我也需要'params'从body)在我的views.py中对值做进一步的操作。

#views.py    
def my_view(request, name):
   request_name = request.GET.get("name", None)

我认为URL引用参数'name'可能有问题,

from django.contrib import admin
from django.urls import path, include, re_path

urlpatterns = [
  path('api-auth/', include('rest_framework.urls')),
  path('admin/', admin.site.urls),
  path('api/', views.my_view ),
  path('api/<name>/', views.my_view ),
  #path('api/(?P<name>\d+)/', views.my_view),
  #re_path('api/<name>)/', views.my_view , name='name'),
  #re_path('api/(?P<name>\d+)/', views.my_view , name='name'),
  #path('api/<name>/)', views.my_view , name='name'),
  #re_path(r'^api/<name>/$', views.my_view),

因为

当我尝试时:

获取url'http://127.0.0.1:8000/api/'名称'/'-

有了这个urls.py

path('api/<name>/', views.my_view )

我可以在视图中打印(名称)。派克-

def my_view(request, name):
   #request_name = request.GET.get("name", None)
   print(name)

打印(名称)不工作时,我有'?名称='在url中。

共有1个答案

喻高寒
2023-03-14

试试var url='1!'http://127.0.0.1:8000/api/'名称'/';使用?此处的名称不正确,因为您将该名称作为get参数提供。在这里使用get参数毫无意义。您必须直接调用url。

另一个提示:您应该在django模板中通过以下方式生成url:

{%url'name'name%}

 类似资料:
  • Attribute Name Type Required Default Description file string Yes n/a the file, http or ftp site to fetch assign string No n/a the template variable the output will be assigned to 属性 类型 是否必须 缺省值 描述 fil

  • 执行pull,远程数据库的内容就会自动合并。但是,有时只是想确认本地数据库的内容而不想合并。这种情况下,请使用fetch。 执行fetch就可以取得远程数据库的最新历史记录。取得的提交会导入到没有名字的分支,这个分支可以从名为FETCH_HEAD的退出。 例如,在本地数据库和远程数据库的origin,如果在从B进行提交的状态下执行fetch,就会形成如下图所示的历史记录。 在这个状态下,若要把远程

  • JavaScript 可以将网络请求发送到服务器,并在需要时加载新信息。 例如,我们可以使用网络请求来: 提交订单, 加载用户信息, 从服务器接收最新的更新, ……等。 ……所有这些都没有重新加载页面! 对于来自 JavaScript 的网络请求,有一个总称术语 “AJAX”(Asynchronous JavaScript And XML 的简称)。但是,我们不必使用 XML:这个术语诞生于很久以

  • 描述 (Description) 它使用sync方法从集合中的模型中提取数据。 语法 (Syntax) collection.fetch(options) 参数 (Parameters) options - 它将success和error回调,它们都将作为参数传递。 例子 (Example) <!DOCTYPE html> <html> <head> <title>Collec

  • 描述 (Description) 它通过委托模型中的sync()方法接受来自服务器的数据。 语法 (Syntax) model.fetch(options) 参数 (Parameters) options - 它接受用于模型的参数,例如id,name等。 例子 (Example) <!DOCTYPE html> <html> <head> <title> Model Examp

  • Fetch 是 window.fetch 的 JavaScript polyfill。 全局 fetch 函数是 web 请求和处理响应的简单方式,不使用 XMLHttpRequest。这个 polyfill 编写的接近标准的 Fetch 规范(https://fetch.spec.whatwg.org)。 fetch 函数支持所有的 HTTP 方式: HTML: fetch('/users.ht

  • 这个模块基于Fetch之上添加了解析功能。例如加载一个 text 文件: d3.text("/path/to/file.txt").then(function(text) { console.log(text); // Hello, world! }); 加载并转换 CSV 文件: d3.csv("/path/to/file.csv").then(function(data) { con

  • 这个模块基于Fetch之上添加了解析功能。例如加载一个 text 文件: d3.text("/path/to/file.txt").then(function(text) { console.log(text); // Hello, world! }); 加载并转换 CSV 文件: d3.csv("/path/to/file.csv").then(function(data) { con