好吧,我看了看这个ValueError上的一些不同的松弛帖子,但似乎大多数都与不返回渲染有关,看起来我这样做是正确的...?
我确信这与我的if语句有关,只是不确定到底是什么或如何正确地设置代码,以便我可以检查对浏览器的表单请求。
编辑:在评论之后,我暂时 checkout is_valid,只是为了看看是否会出现新的错误,似乎我遇到了一个名称错误。“name 'name' is not defined“
因此它无法将表单用户输入到api中。views.py:
from http.client import responses
from django.shortcuts import render
from .forms import SearchUser
from .search import search
def home(request):
if request.method == "POST":
form = SearchUser(request.POST)
form.cleaned_data["name"]
else:
return render(request, "main/home.html", {
'form': SearchUser(), # Reference to form
'userid': search(request),
# 'mmr':NA,
})
search.py:
import requests
def search(request):
data = requests.get(
f"https://americas.api.riotgames.com/riot/account/v1/accounts/by-riot-id/{name}/NA1?api_key=RGAPI-d1224a2c-9130-45ff-8c05-0656d56d105f")
return data.json()['puuid']
urls.py:
from django.urls import path
from . import views
urlpatterns = [
path("", views.home, name=""),
#path("", views.search, name=""),
]
home.html:
{% extends 'main/base.html'%}
{% block content %}
<h2>Valorant Ranked Checker</h2>
<form method="post" action="">
{% csrf_token %}
{{form}}
<button type="submit" name="search">
Get rank
</button>
</form>
<p><strong>{{userid}} - {{mmr}}</strong></p>
{% endblock %}
forms.py:
from django import forms
class SearchUser(forms.Form):
name = forms.CharField(label="Name", max_length=200)
1条答案
按热度按时间az31mfrm1#
一般情况下,视图要求返回单个HttpResponse,在条件之外。
请尝试以下视图:
Note:
在成功处理POST数据后,你应该总是返回一个HttpResponseRedirect。这通常是一种很好Web开发实践。所以,
编辑:
请尝试以下代码:
search.py
home.html
views.py