因此,我更改了settings.py,以便我的django應用程序使用PostgreSQL數據庫。數據庫中沒有任何內容。我想要的是,在我的網站的首頁上,註冊表格要求提供名字,姓氏,電子郵件,未使用的用戶名(我的數據庫中不存在的用戶名)和年齡。人們提交有效表單後,我想發送確認電子郵件到他們提供的電子郵件地址。如果發送了確認電子郵件,我想將他們使用表單提交的所有信息放入我的註冊用戶數據庫中。將信息發送到數據庫的django註冊表格
我一直在google'ing周圍,發現很多不同的方式與Django創建窗體,我不知道什麼是我最好的方式來做到這一點。我首先發現這個(https://docs.djangoproject.com/en/dev/topics/forms/),其中談到能夠通過電子郵件發送給定的電子郵件地址。接下來,我找到了modelForm(https://docs.djangoproject.com/en/dev/topics/forms/modelforms/)。然後,我從djangobook中找到了這兩個,它們談論了登錄和退出(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的方式,我什至不知道這將創建在我的數據庫中的表。任何人都可以幫我解決我的任務嗎?簡單地指導我解釋如何創建將信息發送到數據庫(並顯示信息如何發送到數據庫以及如何訪問該數據庫)的文檔將非常棒!
返回語句沒有正確縮進,並不像這樣工作。如果你修復了這個問題,代碼示例似乎就可以工作。不過請閱讀我關於Django Models for persistent database storage的回答。 – bouke
'age = forms.forms.IntegerField()'?這是什麼? –