0

Django をバックエンドとして、Yeoman をフロントエンドとして使用しています。私は両方とも初めてです。フロントエンド ローカル サーバーは で実行されてlocalhost:9000おり、バックエンド サーバーは で実行されていlocalhost:8000ます。

Djangoチュートリアルに従って、電子メール送信アプリケーションを構築しました。それは完全に機能しており、次のもので構成されています。

フォーム:

class ContactForm(forms.Form):
    name = forms.CharField()
    email = forms.EmailField()
    telephoneNr = forms.IntegerField()
    message = forms.CharField(widget=forms.Textarea)

ビュー:

from django.core.mail import send_mail
from django.shortcuts import render, render_to_response
from django.http import HttpResponseRedirect, HttpResponse
from mailsender.forms import ContactForm

def contact(request):
    if request.method == 'POST': 
        form = ContactForm(request.POST)
        if form.is_valid():
            success = True
            name = form.cleaned_data['name']
            email = form.cleaned_data['email']
            telephoneNr = form.cleaned_data['tlf']
            message= form.cleaned_data['melding']
            receiverEmail = ['somewhere@example.com']
            text = message +'\n'+name +'\n'+str(telephoneNr)

            send_mail('Contact form', beskjed, email, receiverEmail)
            return render(request,"result.html")

    else:
         form = ContactForm(
    return render(request, 'contactform.html', {'form':form})

そして私のHTML:

<h1>Contact us</h1>

{% if form.errors %}
  <p style="color: red;">
    Please correct the error{{ form.errors|pluralize }} below.
  </p>
{% endif %}

<form action="" method="post">
  <table>
    {{ form.as_p }}
  </table>
  {% csrf_token %}
  <input type="submit" value="Submit">
</form>

にアクセスするlocalhost:8000/contactformと、思い通りにコンタクト フォームが表示され、メールも送信されます。

このビューを Yeoman フロントエンドに接続する方法を理解するのに助けが必要です。Internetz (および SO) を検索すると混乱の道にたどり着くからです。Tastypieを使用する必要がありますか? このロジックをバックエンドに保持したいのです。私を正しい方向に向ける助けは大歓迎です。

4

1 に答える 1