そこで、django アプリが PostgreSQL データベースを使用するように settings.py を変更しました。データベースにはまだ何もありません。私が欲しいのは、私のウェブサイトのフロントページに、名、姓、電子メール、未使用のユーザー名 (データベースにまだ存在しないユーザー名)、および年齢を尋ねる登録フォームです。人々が有効なフォームを送信した後、提供された電子メール アドレスに確認の電子メールを送信したいと考えています。確認メールが送信されたら、フォームを使用して送信したすべての情報を登録ユーザーのデータベースに入力したいと考えています。
私はグーグルで検索して、djangoでフォームを作成するさまざまな方法を見つけましたが、それを行うための最良の方法が何であるかわかりません。最初にこれ ( https://docs.djangoproject.com/en/dev/topics/forms/ ) を見つけました。これは、指定された電子メール アドレスに電子メールを送信できることについて説明しています。次に、modelForm ( https://docs.djangoproject.com/en/dev/topics/forms/modelforms/ ) を見つけました。次に、サインインとサインアウトについて説明している djangobook からこれら 2 つを見つけました ( http://www.djangobook.com/en/2.0/chapter14.htmlおよびhttps://docs.djangoproject.com/en/1.4 /topics/auth/ ) そして、ここで django-registration 1.0 のドキュメントを見つけました ( https://django-registration.readthedocs.org/en/v1.0/genindex.html#R)。やりたいことを達成するために、どこから始めるのが最適ですか?
私が試していたのは、最初のリンクからのものでした:
from django import forms
class ContactForm(forms.Form):
first_name = forms.CharField()
last_name = forms.CharField()
sender = forms.EmailField()
user_name = forms.CharField()
age = forms.forms.IntegerField()
そして、する
from django.shortcuts import render
from django.http import HttpResponseRedirect
def contact(request):
if request.method == 'POST':
form = ContactForm(request.POST)
if form.is_valid():
first_name = form.cleaned_data['first_name']
last_name = form.cleaned_data['last_name']
sender = form.cleaned_data['sender']
user_name = form.cleaned_data['user_name']
age = form.clean_data['age']
recipients = []
recipients.append(sender)
from django.core.mail import send_mail
send_mail(first_name, last_name, sender, recipients)
form.save()
return HttpResponseRedirect('/thanks/')
else:
form = ContactForm()
return render(request, 'contact.html', {
'form': form,
})
これは私の試みです。html と css を使用してこれらのフォームの外観を編集する方法さえわからず、データベースにどのテーブルが作成されるかさえわからないため、かなり間違っていると思います。誰かが私の仕事を手伝ってくれますか? 情報をデータベースに送信するフォームの作成方法を説明するドキュメント (および、情報がデータベースに送信される方法とそのデータベースへのアクセス方法を示す) を参照するだけでも十分です。