django - 我的订单没有保存。django中的表格
问题描述
在这里你可以看到我的models.py。
class Customer(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name = 'customer', null=True, blank=True)
name = models.CharField(max_length=200, null=True)
email = models.CharField(max_length=200)
tel = models.CharField(max_length=200)
def __str__(self):
return self.name
class Order(models.Model):
customer = models.ForeignKey(Customer, on_delete=models.SET_NULL, null=True, blank=True)
imya = models.CharField(max_length=200, null=False)
familiya = models.CharField(max_length=200, null=False)
tel = models.CharField(max_length=200, null=False)
address = models.CharField(max_length=200, null=False)
city = models.CharField(max_length=200, null=False)
state = models.CharField(max_length=200, null=False)
date_ordered = models.DateTimeField(auto_now_add=True)
complete = models.BooleanField(default=False)
transaction_id = models.CharField(max_length=100, null=True)
def __str__(self):
return str(self.id)
在这里你可以看到我的forms.py。这里我只是创建了表单,但是数据应该来自模板输入。
from django import forms
from django.forms import ModelForm
from .models import *
class OrderForm(forms.ModelForm):
class Meta:
model = Order
fields = '__all__'
视图.py
def checkout(request):
data = cartData(request)
cartItems = data['cartItems']
order = data['order']
items = data['items']
form = OrderForm()
if request.method == 'POST':
name = request.POST.get('name')
surname = request.POST.get('surname')
email = request.POST.get('email')
number = request.POST.get('number')
address = request.POST.get('address')
city = request.POST.get('city')
state = request.POST.get('state')
form = OrderForm(request.POST)
if form.is_valid():
Order.object.create(
imya=name,
familiya=surname,
tel=number,
adres=address,
city=city,
state=state,
)
form.save()
return HttpResponse('Заказ отправлен', safe=False)
context = {'items':items, 'order':order, 'cartItems':cartItems, 'form':form}
return render(request, 'store/checkout.html', context)
我的模板:
<section class="shop checkout section">
<div class="container">
<div class="row">
<div class="col-lg-8 col-12">
<div class="checkout-form">
<h2>Make Your Checkout Here</h2>
<p>Please register in order to checkout more quickly</p>
<!-- Form -->
<form class="form" method="post" action="#">
{% csrf_token %}
<div class="row">
<div class="col-lg-6 col-md-6 col-12">
<div class="form-group">
<label>First Name<span>*</span></label>
<input type="text" name="name" placeholder="" required="required">
</div>
</div>
<div class="col-lg-6 col-md-6 col-12">
<div class="form-group">
<label>Last Name<span>*</span></label>
<input type="text" name="surname" placeholder="" required="required">
</div>
</div>
<div class="col-lg-6 col-md-6 col-12">
<div class="form-group">
<label>Email Address<span>*</span></label>
<input type="email" name="email" placeholder="" required="required">
</div>
</div>
<div class="col-lg-6 col-md-6 col-12">
<div class="form-group">
<label>Phone Number<span>*</span></label>
<input type="number" name="number" placeholder="" required="required">
</div>
</div>
<div class="col-lg-6 col-md-6 col-12">
<div class="form-group">
<label>Address<span>*</span></label>
<input type="text" name="adress" placeholder="" required="required">
</div>
</div>
<div class="col-lg-6 col-md-6 col-12">
<div class="form-group">
<label>City<span>*</span></label>
<input type="text" name="city" placeholder="" >
</div>
</div>
<div class="col-lg-6 col-md-6 col-12">
<div class="form-group">
<label>State<span>*</span></label>
<input type="text" name="state" placeholder="" required="required">
</div>
</div>
<div class="col-12">
<div class="form-group create-account">
<input id="cbox" type="checkbox">
<label>Create an account?</label>
</div>
</div>
<input type="submit" value="Продолжить">
</div>
</form>
在我看来,我想为我的订单模型创建一个对象。我试过这段代码,它没有给出任何错误,但它不起作用。请帮助保存订单。
解决方案
推荐阅读
- python - Tensorflow:如何平铺以特定顺序重复的张量?
- javascript - 嵌套异步循环中的节点 MySQL 两个查询
- bash - grep 文件中的模式,打印模式而不是匹配的字符串
- c++ - 将有序数组转换为二叉树:代码中的运行时错误
- java - RestFB 获得对话
- vba - 保存没有宏的 Excel 文件。Excel VBA代码
- ios - CoreNFC 未在 iOS 中读取 UID
- flask - 气流基本身份验证 - 无法使用创建的用户登录
- asp.net - 在 aspx 页面中的 CSRF 修复
- java - 如何将自定义字段的注入添加到 FXMLLoader 的默认 ControllerFactory?