首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示Django管理公司的采购历史记录

显示Django管理公司的采购历史记录
EN

Stack Overflow用户
提问于 2018-11-25 00:10:21
回答 1查看 1.7K关注 0票数 1

我试图在每个用户仪表板上显示每个用户的购买历史记录。我在Stripe中做了一些虚拟的订单,但我在页面的订单历史部分显示这些订单时遇到了困难。

我也不确定订单一开始是否正确地链接到注册用户,因为我似乎把自己和这个方法搞混了。

有人能帮我还是指给我正确的方向吗?

代码语言:javascript
复制
<div class="container">
    <div class="row">
        <div class="col-sm-12 col-md-12 col-lg-12">
        	
    <table class="table table-striped">
    <h3>Your order history</h3>
    <hr>
    
  <tr>
    <th>Date</th>
    <th>Invoice ID</th> 
    <th>Description</th>
    <th>Total</th>
  </tr>
  {% for orders in orders %}
  <tr>
    <td scope="row">{{ order.quantity }}</td>
    <td>xxx</td>
    <td>xxx</td>
    <td>xxx</td>
  </tr>
  {% endfor %}

</table>
  
</div>

我的结账views.py

代码语言:javascript
复制
from django.contrib import messages, auth
from django.contrib.auth.decorators import login_required
from checkout.forms import MakePaymentForm
from django.shortcuts import render, get_object_or_404, redirect, reverse
from django.template.context_processors import csrf
from django.conf import settings
from babysitters.models import Babysitter
import stripe

# stripe.api_key = settings.STRIPE_SECRET


@login_required(login_url="/accounts/login")
def buy_now(request, id):
    if request.method == 'POST':
        form = MakePaymentForm(request.POST)
        if form.is_valid():
            try:
                babysitter = get_object_or_404(Babysitter, pk=id)
                customer = stripe.Charge.create(
                    amount= int(babysitter.price * 100),
                    currency="EUR",
                    description=babysitter.firstName,
                    card=form.cleaned_data['stripe_id'],
                )
            except (stripe.error.CardError):
                messages.error(request, "Your card was declined!")

            if customer.paid:
                messages.success(request, "You have successfully paid")
                return redirect(reverse('babysitters'))
            else:
                messages.error(request, "Unable to take payment")
        else:
            messages.error(request, "We were unable to take a payment with that card!")

    else:
        form = MakePaymentForm()
        babysitter = get_object_or_404(Babysitter, pk=id)

    args = {'form': form, 'publishable': settings.STRIPE_PUBLISHABLE, 'babysitter': babysitter}
    args.update(csrf(request))

    return render(request, 'checkout.html', args)

我的Models.py文件

代码语言:javascript
复制
from django.db import models
from babysitters.models import Babysitter
from django.contrib.auth.models import User

# Create your models here.

class Order(models.Model):
    first_name = models.CharField(max_length=255, blank=True)
    last_name = models.CharField(max_length=255, blank=True)
    address1 = models.CharField(max_length=255, blank=True)
    address2 = models.CharField(max_length=255, blank=True)
    city = models.CharField(max_length=20, null=True)
    county = models.CharField(max_length=100, null=True)
    postcode = models.CharField(max_length=7, null=True)
    email = models.CharField(max_length=50, blank=True, null=True)
    phone = models.CharField(max_length=10, blank=True)
    date = models.DateField()
    
    def __str__(self):
        return "{0}-{1}-{2}".format(self.id, self.date, self.user)
 
        
        
class OrderLineItem(models.Model):
    user = models.ForeignKey(User, null=False),
    order = models.ForeignKey(Order, null=False, related_name='orders')
    babysitter = models.ForeignKey(Babysitter, null=False)
    quantity = models.IntegerField(blank=False)
    
    def __str__(self):
        return "{0} {1} @ {2}".format(self.quantity, self.babysitter.firstName, self.babysitter.price)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-25 20:43:13

订单历史没有显示,因为您使用的是一个名为orders的循环变量,但是在访问每个属性时引用的是order。将循环变量重命名为order

代码语言:javascript
复制
{% for order in orders %}
<tr>
    <td scope="row">{{ order.quantity }}</td>
    <td>xxx</td>
    <td>xxx</td>
    <td>xxx</td>
</tr>
{% endfor %}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53463542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档