簡體   English   中英

在 Django mysql 中提交表單時出現值錯誤

[英]Value Error when submitting form in Django mysql

在 Django 中提交表單時出現值錯誤。 我已成功連接 XAMPP 中的 MySQL 數據庫。 我找不到解決方案。這是我的表單代碼,

     <form class="user" method="POST">
                {% csrf_token %}
                <div class="form-group">
                  <input type="text" class="form-control form-control-user" id="Cus_name" name="Cus_name" placeholder="Enter Customer Name...">
                </div>
                <div class="form-group">
                  <input type="text" class="form-control form-control-user" id="Cus_address" name="Cus_address" placeholder="Enter Address... ">
                </div>
                 <div class="form-group">
                  <input type="email" class="form-control form-control-user" id="Cus_email"  placeholder="Enter Email Address...">
                </div>
                 <div class="form-group">
                  <input type="text" class="form-control form-control-user" id="Purpose"  placeholder="Enter Purpose...">
                </div>
                 <div class="form-group">
                  <input type="date" class="form-control form-control-user" id="Date"  placeholder="Enter Date...">
                </div>
                 <div class="form-group">
                  <input type="time" class="form-control form-control-user" id="Time" placeholder="Enter Time...">
                </div>
                 <div class="form-group">
                  <input type="text" class="form-control form-control-user" id="Venue" placeholder="Enter Venue...">
                </div>
                <button name="submit" type="submit" class="btn btn-success">Submit</button>
                <hr>
             </form>

這是我的 Views.py

from django.shortcuts import render
from .models import AppointmentDet
from django.contrib import messages

def InsertDetails(request):
    if request.method == 'POST':
        if request.POST.get('Cus_name') and request.POST.get('Cus_address') and request.POST.get('Cus_email') and request.POST.get('Purpose') and request.POST.get('Date') and request.POST.get('Time') and request.POST.get('Venue'):
            saverecord = AppointmentDet()
            saverecord.Cus_name = request.POST.get('Cus_name')
            saverecord.Cus_name = request.POST.get('Cus_address')
            saverecord.Cus_name = request.POST.get('Cus_email')
            saverecord.Cus_name = request.POST.get('Purpose')
            saverecord.Cus_name = request.POST.get('Date')
            saverecord.Cus_name = request.POST.get('Time')
            saverecord.Cus_name = request.POST.get('Venue')
            saverecord.save()
            messages.success(request, "details saved successfully!")
            return render(request, "appform.html")
    else:
            return render(request, "appform.html") 

這是我在運行服務器時遇到的錯誤。

ValueError at / 視圖 Management.views.InsertDetails 未返回 HttpResponse 對象。 它返回 None 。

我嘗試了一些解決方案,但沒有奏效。

你應該閱讀這個關於如何使用表單的小教程:

https://docs.djangoproject.com/en/3.1/topics/forms/

發送數據時,您應該首先將帖子轉換為表單類對象。 然后你必須在所述表單上調用“is_valid()”。

只有在此方法調用后,post 數據才在對象中。

這是來自 Django 的示例:

def get_name(request):
    # if this is a POST request we need to process the form data
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = NameForm(request.POST)
        # check whether it's valid:
        if form.is_valid():
            # process the data in form.cleaned_data as required
            # ...
            # redirect to a new URL:
            return HttpResponseRedirect('/thanks/')
    # if a GET (or any other method) we'll create a blank form
    else:
        form = NameForm()
    return render(request, 'name.html', {'form': form})`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM