我有一個帶有兩個引數(請求、回應)的視圖。但是當這個視圖被呼叫時,我得到一個錯誤,上面寫著 - “figure() missing 1 required positional argument: 'response'”
視圖.py:
def figure(request, response):
print("request ->", request)
figures = add_data_to_class(request)
figures_dict = []
for figure in figures:
figures_dict.append({
"date":figure.date,
"price_new":figure.price_new,
"price_used":figure.price_used,
})
print(figures_dict)
context = {"figures":figures_dict}
return render(response, "app1/figure_data_page.html", context, RequestContext(request))
網址.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.figure, name="figure")
]
figure_data.html
<form action="main\app1\views.py" method="post" id="figure_choice_form">
<label for="id">Enter ID</label>
<input type="text" id="id">
</form>
uj5u.com熱心網友回復:
一個視圖收到一個請求“在這個 URL 上給我一個頁面”并回傳一個回應“好的 - 這是一個模板和一些背景關系”。在您看來,回應是由 render() 函式回傳的,而渲染函式希望請求作為第一個引數 - 您正在給出回應。
如果您想訪問視圖的回應,您可以將它分配給一個變數而不是回傳它(您必須稍后實際回傳它或類似的東西)。
response = render(request, "app1/figure_data_page.html", context, RequestContext(request))
print(response)
context['response'] = response
但是要求它作為視圖引數并沒有多大意義(除非您需要完全不同的視圖的回應),因為視圖應該自己生成回應。
uj5u.com熱心網友回復:
當訪問視圖連接的 url 時,視圖僅提供“請求”而不是“回應”。回應本質上是從render函式生成的。
您的渲染功能應該如下所示(回應替換為請求):
return render(request, "app1/figure_data_page.html", context, RequestContext(request))
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/493686.html
