我使用Django其中我试图注册时加载用户数据到PostgreSQL数据库但如何将用户数据插入到数据库开发web应用程序。
我已执行:
python manage.py makemigrations app
python manage.py migrate
它正在创建新表。
但是我希望从表单中插入数据以保存在数据库中。
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'OPTIONS': {
'options': '-c search_path=provisioning'
},
'NAME': 'OneClickProvisioning',
'USER': 'postgres',
'PASSWORD': 'Hanu@2789',
'HOST': 'localhost',
'PORT': '5432',
}
}
forms.py
class UserRegistrationForm(forms.Form):
fname = forms.CharField(
required=True,
label='FirstName',
max_length=32
)
lname = forms.CharField(
required=True,
label='LastName',
max_length=32
)
urls.py
from django.contrib import admin
from django.urls import path
from django.conf.urls import url
from Provisioning import views
urlpatterns = [
url('admin/', admin.site.urls),
url(r'^home/', views.home),
url(r'^signup/', views.signup),
]
views.py
def signup(request):
if request.method == 'POST':
form = UserRegistrationForm(request.POST)
if form.is_valid():
userObj = form.cleaned_data
username = userObj['username']
password = userObj['password']
if not (User.objects.filter(username=username).exists()):
User.objects.create_user(username, password)
user = authenticate(username = username, password = password)
login(request, user)
return HttpResponseRedirect('/Login.html')
单击注册按钮时,它必须将用户输入的数据存储到数据库中,并在用户注册后重定向到登录页面。