Ввод данных из файла шаблона не сохраняется в файл .txt в Django Python (метод Get)?

Я пытаюсь сохранить некоторые данные из html-формы в .txt-файл. Но когда я сохраняю данные из моей переменной, используемой для получения данных, она выдает "None". Но когда я передаю строку напрямую, она успешно сохраняется.

def write(request):
p_no = request.GET.get('p_no')
# temp = "% s" % p_no
# Str_value = '{}'.format(p_no)
temp = p_no.__str__()
with open('C:\\Users\\The Goat\\Desktop\\testp\\Files\\sample.txt', 'w+') as f:
    testfile = File(f)
    testfile.write(temp)+
    testfile.close
    f.close

return render(request,'index.html')

Возможно, в форме вы используете form method="post", а в представлении запрашиваете request.GET.get.

У меня работает следующий код (bboard заменить на название вашей папки, в которой находятся шаблоны):

views.py

def form(request):
    return render(request, 'bboard/index3.html')

def write(request):
    p_no = request.GET.get('p_no')
    temp = p_no.__str__()
    with open('test12345.txt', 'w+') as f:
        f.write(temp)
        f.close

    return HttpResponse(f"<h2>Name: {temp}")

index3.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
</head>
<body>
    <h2>User form</h2>
    <form method="get" action="{% url 'write'%}">
        {% csrf_token %}
        <p>Name:<br> <input name="p_no" /></p>
        <input type="submit" value="Send" />
    </form>
</body>
</html>

urls.py

urlpatterns = [
    path("form/", form),
    path("write/", write, name="write"),
]
Вернуться на верх