Вопрос Django: счет, который я хочу отправить по электронной почте - PullRequest
0 голосов
/ 18 октября 2010

это вопрос, связанный с Django.У меня есть счет, который я создал из базы данных, которая отображает информацию.Теперь я хочу знать, могу ли я отправить эти данные на адрес электронной почты.Я пытался просмотреть эту страницу на http://docs.djangoproject.com/en/dev/topics/email/,, но я не знаю, ищу ли я это.Я предполагаю, что мне, возможно, нужно создать форму.

Редактировать: Я хочу что-то вроде этого - но я хочу вернуть всю форму.Не только предмет.Проверьте мнения.Извиняюсь за поздний ответ.

        # urls.py
            urlpatterns = patterns('',
               (r'^index/add_invoice/$', add_invoice),
               (r'^index/invoice/$', invoice_info),
               (r'^index/invoice_details/(?P<id>\d+)/$', invoice_details),
            )

        #views.py
        @login_required
        def add_invoice(request):
         if request.method == 'POST':
          form = InvoiceForm(request.POST or None)
          if form.is_valid():
           form.save()
                                send_mail('Subject here', 'Here is the message.', 'tom@example.com', ['paul@example.com'], fail_silently=False 
   )
          return HttpResponseRedirect('/index/invoice/')
         else:
          form = InvoiceForm()
         return render_to_response('add_invoice.html', {'form': form}, context_instance=RequestContext(request))

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

        {% block content %}
        <font face="verdana,news gothic,arial,heltevica,serif">
        <h3> Add Invoice</h3>
         <font face="verdana,news gothic,arial,heltevica,serif">
         <form method= "POST" action="">
          <div id="form">
          <table>
           {{form.as_table}}
          </table>
          <div align="center" STYLE=" margin-right:270px">
          <input type="submit" value="Submit" STYLE="background-color:#E8E8E8; color:#181818 "/>
     </div>
     </div>
     </form>
    {% endblock %}

Ответы [ 2 ]

0 голосов
/ 18 октября 2010

Вы должны использовать загрузчик шаблонов, чтобы загрузить шаблон сообщения и создать контекст с необходимыми переменными, а затем преобразовать шаблон в строку. Смотрите следующий грубый (и неполный) пример:

from django.template import Context, loader
#More imports as needed for your code

def my_view(request):
    # Processing goes here...

    my_template = loader.get_template('invoice_template.html')
    my_context = Context({
        'purchased_items': purchased_items,
    })
    invoice_email_message = my_template.render(my_context) 

    # send the email using invoice_email_message as your message
0 голосов
/ 18 октября 2010

Нет, вам нужно создать шаблон , а затем вам нужно обработать его , а затем вам нужно отправить его .

...