2016-09-23 34 views
0

我正在創建一個django支持的網站。具體來說,一個快遞網站。我需要創建一個用作引用應用程序的應用程序。用戶將包裹的尺寸輸入到表格中,提交表格後,將根據輸入的尺寸返回價格/報價。在Django中創建引用表格

我已經這樣做了,到目前爲止 (views.py)

from django.shortcuts import render, redirect 
from quote.forms import QuoteForm 

    def quoting(request): 
     if request.method == 'GET': 
      form = QuoteForm() 
     else: 
      form = QuoteForm(request.POST) 
      if form.is_valid(): 
       Length = form.cleaned_data['Length'] 
       Breadth = form.cleaned_data['Breadth'] 
       Height = form.cleaned_data['Height'] 

       return redirect('thanks') 
     return render(request, "quote/quote.html", {'form': form}) 

(forms.py)

from django import forms 

class QuoteForm(forms.Form): 

    Length = forms.Integer() 
    Breadth = forms.Integer() 
    Height= forms.Integer() 

(quote.html)

{% extends "shop/base.html" %} 
{% block content %} 
<form method="post"> 
    {% csrf_token %} 
    {{ form }} 
    <div class="form-actions"> 
     <button type="submit">Send</button> 
    </div> 
</form> 
{% endblock %} 

那麼我意識到我缺乏能夠顯示答案的html。我不知道如何做到這一點。

價格=運輸重量X距離 裝運重量=(長度x寬度X高度)/ 5000

感謝提前:)

回答

0

您已重定向到:

由下式確定的價格接收到輸入後的'謝謝'頁面。此時您不應該返回任何內容。

輸入長度,寬度和高度後。您可以通過執行以下操作來計算價格:(長*寬*高)/ 5000.

這可以存儲到變量'total_price'中。然後,在渲染時將「total_price」添加到您的上下文中。

最後,在HTML中,可以添加Django模板標籤一樣

{% if total_price %} 
    {{ total_price }} 
{{ else }} 
    {{ form }} 

希望這有助於!

+0

我已經再次嘗試,但我堅持這裏 - 見下文 –

0

當我提交它返回到剛纔我的輸入

(views.py)

from django.http import HttpResponse, HttpResponseRedirect 
    from django.shortcuts import render, redirect 
    from quote.forms import QuoteForm 


def quoting(request): 
    if request.method == 'GET': 
     form = QuoteForm() 
    else: 
     form = QuoteForm(request.POST) 
     if form.is_valid(): 
      Length = form.cleaned_data['Length'] 
      Breadth = form.cleaned_data['Breadth'] 
      Height = form.cleaned_data['Height'] 
      totalprice=((Length*Breadth*Height)/5000) 
    return render(request, "quote/quote.html", {'form': form}) 

def answer(request): 
    return render(request,"quote/out.html") 

(quote.html)

{% extends "shop/base.html" %} 
{% block content %} 
<form method="post"> 
{% csrf_token %} 
{{ form }} 
<div class="form-actions"> 
<button type="submit" action='/quote/out.html/'>Send</button> 
</div> 
</form> 
{% endblock %} 

(out.html form表單)

{% extends "shop/base.html" %} 
    {% block content %} 
    {% if totalprice %} 
    {{ totalprice }} 
     {{ else }} 
     {{form}} 
{% endblock %} 

(forms.py)

from django import forms 

class ContactForm(forms.Form): 

    Length = forms.IntegerField(required=True) 
    Breadth = forms.IntegerField(required=True) 
    Height = forms.IntegerField() 

(urls.py(應用程序))

from django.conf.urls import patterns, url 
from django.views.generic import TemplateView 
     url(r'^quoting/$', 
      'quote.views.quoting', 
      name='quoting' 
      ), 
     url(r'^answer/$', 
      'quote.views.answer', 
      name='answer' 
      )