我有一個Django應用程序,假設顯示發票和客戶。現在因爲某些原因當我運行Django的斷絕,因爲某些原因,只顯示發票數據invoice_list但不能在clients_list顯示客戶端的數據。客戶數據在另一個視圖中顯示,但不在invoice_details視圖中顯示。Django的問題
編輯:我似乎已經摸索出一些東西。 clients_list中的客戶端數據確實出現,但出於某種原因出現在錯誤的URL中。我嘗試儘可能簡單地解釋它。
網址
(r'^index/invoice_details/1
一個客戶明細顯示在這個頁面。 (r'^index/invoice_details/2
客戶端的細節出現在此頁面。 (r'^index/invoice_details/3
一張發票顯示在此頁面上。
現在我想R「^指數/ invoice_details/3也顯示了什麼是寫在(R」 ^指數/ invoice_details/1,但因爲兩個數字都是不同就會失敗。
這裏有一些產出是可能會有幫助。
#models.py
Class Client(models.Model):
company = models.CharField(max_length=80)
first_name = models.CharField(max_length=80, blank=True, null=True)
last_name = models.CharField(max_length=80, blank=True, null=True)
address = models.CharField(max_length=250)
city = models.CharField(max_length=100)
country = models.CharField(max_length=120)
postcode = models.CharField(max_length=7)
telephone = models.CharField(max_length=20)
email = models.EmailField()
additional_info = models.TextField(blank=True, null=True)
def __unicode__(self):
return self.company
class Invoice(models.Model):
client = models.ForeignKey(Client)
date = models.DateField()
invoice_no = models.CharField(max_length=16)
work_orders = models.ManyToManyField(Work_Order)
contract_info = models.ForeignKey(Contract_Info)
def __unicode__(self):
return self.invoice_no
# urls.py
urlpatterns = patterns('',
(r'^index/invoice/$', invoice_info),
(r'^index/invoice_details/(?P<id>\d+)/$', invoice_details),
)
#views.py
@login_required
def invoice_details(request, id=1):
clients_list = Client.objects.filter(pk=id)
invoices_list = Invoice.objects.filter(pk=id)
return render_to_response(('invoice_details.html
', locals()), {'clients_list': clients_list, 'invoices_list': invoices_list }, context_instance=RequestContext(request))
@login_required
def clients_details(request, id=1):
clients_list = Client.objects.filter(pk=id)
return render_to_response(('clients_details.html', locals()), {'clients_list': clients_list}, context_instance=RequestContext(request))
#invoice_details.html
{% extends "base.html" %}
{% block content %}
<h2>Invoice Details</h2>
<div id="horizontalnav">
<a href="/index/add_invoice">Add an Invoice</a>
<a href="/index/work_orders">Add a Work Order</a>
<a href="/index/add_payment">Add Payment</a>
</div>
<ul STYLE="border: 1px solid;float:left;padding:15px; width: 400px;">
<img src="{{ MEDIA_URL }}images/c2duo.png" border="0" STYLE="text-alignment:left">
<p STYLE="margin-left:340px; margin-top:0px; COLOR:blue; Font-family:ARIAL">INVOICE
<div id="list">
{% for invoice in invoices_list %}
{{invoice.client}}
<p style="text-align: right;">INVOICE # {{invoice.invoice_no}}<br/>
{{invoice.contract_info}}<br/>
{{invoice.date}}<br/>
{% for invoice in invoice.work_orders.all %}
{{invoice}}<br/>
{% endfor %}
{% endfor %}
{% for clients in clients_list %}
{{clients.company}}<br/>
{{clients.postcode}}<br/>
{% endfor %}
</div>
</ul>
{% endblock %}
爲什麼你在做'return render_to_response(('clients_details.html',locals()),{...})'?參考當地人的那個元組有什麼意義?通常使用本地語言來代替上下文詞典(我討厭的一個成語,但不介意),但是你提供了兩種語言。 – 2010-10-12 12:13:42
這是一個巧合 - 1您的客戶端ID與發票編號1相關聯,並且發票2與客戶端2爲好。我假設你有ID爲3 – 2010-10-12 22:55:24
@Lou佛朗哥沒有客戶端 - 好吧,你說的不是調用ID,使用不同的ID爲客戶和發票?例如(client_id invoice_id)。如果是這樣,我該如何做這項工作? – Shehzad009 2010-10-14 10:23:39