小编She*_*009的帖子

关于Django的问题:显示多个到多个字段

当Django在模板中渲染ManyToManyField时,我似乎遇到了问题.我可以让它部分工作,但我不能让它正常工作,因为我想要它.

首先,我有一个发票模板,显示我的数据库中的发票详细信息

#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>
  <div id="list">
     {% for invoice in invoices_list %}
       {{invoice.client}}<br/>
       {{invoice.invoice_no}}<br/>
       {{invoice.contract_info}}<br/>
       {{invoice.date}}<br/>
       {{invoice.work_orders}}<br/>
     {% endfor %}
    </div>
</ul>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

在我的数据库中,{{invoice.work_orders}}显示如下.这是因为{{invoice.work_orders}}使用了manytomanyfield

<django.db.models.fields.related.ManyRelatedManager object at 0x8a811ec>
Run Code Online (Sandbox Code Playgroud)

现在我尝试将{{invoice.work_orders}}更改为{{invoice.work_orders.all}},我就明白了.

[<Work_Order: Assurance Support Service >]
Run Code Online (Sandbox Code Playgroud)

这种工作,但我希望它只显示"保证支持服务".所以我想知道如果可能的话我怎么能做这个改变.

html python django manytomanyfield

2
推荐指数
1
解决办法
1408
查看次数

在Django中使用send_mail:无法在函数的发票中显示数据

另一个Django send_mail问题.似乎我在电子邮件中显示数据时遇到问题,这些数据将表单与功能分开.似乎这是一个可变的问题.

编辑:我设法让客户名出现!现在如何用发票来做同样的事情.假设我想显示日期,invoice_no,work_orders和contract_info?

    #models.py
    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

    #views.py
    @login_required
    def invoice_mail(request, id=1):
        invoices_list = Invoice.objects.filter(pk=id)
        client = invoices_list[0].client
        t = loader.get_template('registration/email.txt')
        c = Context({
        'client': client.company,
        })
        send_mail('Welcome to My Project', t.render(c), 'jess@example.com', ['mark@example.com'], fail_silently=False)
        return render_to_response('email.html', locals(), context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

这是我的email.txt

Dear {{client}},
Run Code Online (Sandbox Code Playgroud)

当我将它发送到我的电子邮件帐户时,我会收到此信息

亲爱的Currys,

django sendmail django-models django-views

2
推荐指数
1
解决办法
171
查看次数

在分配前引用的Django'局部变量'形式'需要帮助'

我在django有问题.我在我的应用程序中创建了一个表单,我可以在其中详细了解客户端.现在我想创建一个允许我编辑表单的表单.但是当我转到/ index/edit_client/1时遇到一些问题,我收到此错误.

local variable 'form' referenced before assignment
Run Code Online (Sandbox Code Playgroud)

我不知道为什么我有这个错误的原因,但从我所看到的,它没有帮助,除非当然还有另一种方法如何创建编辑表单来编辑客户端表单.以下是一些可能有用的输出.

# urls.py
    urlpatterns = patterns('',
    (r'^index/$', login_required(direct_to_template), { 'template': 'index.html' }),
    (r'^index/clients/$', client_info),
    (r'^index/clients_details/(?P<id>\d+)/$', clients_details),
    (r'^index/edit_client/(?P<id>\d+)/$', edit_client),
)

# views.py
@login_required 
def edit_client(request, id=1):
    clients_list = Client.objects.filter(pk=id)  
    if request.method == 'POST':
        form = ClientForm(request.POST or None)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('/index/clients/')
        else: form = ClientForm()
    return render_to_response('edit_client.html', {'form': form},  context_instance=RequestContext(request))

#edit_client.html
{% extends "base.html" %}

{% block content %}
<font face="verdana,news gothic,arial,heltevica,serif">
    <h3>Edit Client</h3>
</font>
<form method= "POST" action="">
    <font face="verdana,news …
Run Code Online (Sandbox Code Playgroud)

html python django syntax-error django-forms

0
推荐指数
1
解决办法
8313
查看次数

最好的python/Django代码生成器?

很快的问题.我想知道是否有任何软件Django软件自动生成python编码.如果有,请告诉我.

html python django generator

0
推荐指数
1
解决办法
3639
查看次数