Я получаю следующее IntegrityError в /registration/ NOT NULL constraint failed: bankapp_registration.date_of_birth error
models.py
from django.db import models
# Create your models here.
class Registration(models.Model):
bank_ac = models.CharField(max_length=64)
first_name = models.CharField(max_length=64)
last_name = models.CharField(max_length=64)
user_name = models.CharField(max_length=64)
mobile_number = models.CharField(max_length=10)
email = models.EmailField()
password = models.CharField(max_length=18)
date_of_birth = models.DateField(max_length=64)
address = models.CharField(max_length=160)
pin_code = models.IntegerField()
views.py
from django.shortcuts import render
from bankapp.forms import RegistrationForm, LoginForm
from bankapp.models import Registration
from django.http import HttpResponse
# Create your views here.
def Home(request):
return render(request, 'home.html')
def RegistrationView(request):
if request.method == 'POST':
rform = RegistrationForm(request.POST)
if rform.is_valid():
bac = request.POST.get('bank_ac')
fname = request.POST.get('first_name')
lname = request.POST.get('last_name')
uname = request.POST.get('user_name')
mnumber = request.POST.get('mobile_number')
email = request.POST.get('email')
password = request.POST.get('password')
dob = request.POST.get('date_of_birth')
address = request.POST.get('address')
pin_code = request.POST.get('pin_code')
data = Registration(
bank_ac = bac,
first_name = fname,
last_name = lname,
user_name = uname,
mobile_number = mnumber,
email = email,
password = password,
date_of_birth = dob,
address = address,
pin_code = pin_code
)
data.save()
rform = RegistrationForm()
return render(request,'Registration.html', {'rform':rform})
else:
return HttpResponse('User Entered invalid data')
else:
rform = RegistrationForm()
return render(request,'Registration.html', {'rform':rform})
def LoginView(request):
sform = LoginForm()
if request.method == "POST":
sform = LoginForm(request.POST)
if sform.is_valid():
uname = request.POST.get('user_name')
pwd = request.POST.get('password')
print(uname)
print(pwd)
user1 = Registration.objects.filter(user_name=uname)
password1 = Registration.objects.filter(password=pwd)
if user1 and password1:
return redirect('/')
else:
return HttpResponse('enter user name and password correctly')
else:
return HttpResponse('please enter valid data')
else:
return render(request, 'login.html', {'sform':sform})
forms.py
urls.py
from django.contrib import admin
from django.urls import path
from bankapp import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.Home),
path('login/', views.LoginView),
path('registration/', views.RegistrationView),
]
registration.html
{% extends 'base.html' %}
{% block xx %}
{% endblock %}
{% block body_block %}
<div class="container">
<div class="jumbotrone">
<form method="post">
{% csrf_token %}
{{ rform.as_p }}
<input type="submit" class='btn btn-success' value="Submit">
<input type="reset" value="Clear" class="btn btn-danger">
</form>
</div>
</div>
{% endblock %}
login.html
{% extends 'base.html'%}
{% block xx %}
{% endblock %}
{% block body_block %}
<div class="container">
<h3 align='center'> Please Login Here </h3>
<div class="jumbotrone">
<form method="post">
{% csrf_token %}
{{ sform.as_p }}
<input type="submit" class='btn btn-success' value="Submit">
<input type="reset" value="Clear" class="btn btn-danger"> <br> <br>
<a href="/registration"> Create New Account Here </a>
</form>
</div>
</div>
{% endblock %}
base.html
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script
{% block xx %}
{% endblock %}
</head>
<body>
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand"href="#"> Omkar Bank </a>
</div>
<ul class='nav navbar-nav'>
<li><a href="/"> Home </a></li>
<li class='dropdown'><a class='dropdown-toggle' data-toggle='dropdown' href="#"> Netbanking <span class='caret'> </span> </a>
<ul class='dropdown-menu'>
<li> <a href='/login'> Retail User </a> </li>
<li> <a href='#'> Corporate User </a> </li>
</ul></li>
<li><a href="#"> Cards </a></li>
<li><a href="#"> Contacts Us </a></li>
</ul>
</div>
</nav>
{% block body_block %}
{% endblock %}
</body>
</html>
ошибка:
File "C:\Users\sms14\AtomProjects\myenv\lib\site-packages\django\db\backends\utils.py", line 76, in _execute_with_wrappers
return executor(sql, params, many, context)
File "C:\Users\sms14\AtomProjects\myenv\lib\site-packages\django\db\backends\utils.py", line 80, in _execute
with self.db.wrap_database_errors:
File "C:\Users\sms14\AtomProjects\myenv\lib\site-packages\django\db\utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "C:\Users\sms14\AtomProjects\myenv\lib\site-packages\django\db\backends\utils.py", line 85, in _execute
return self.cursor.execute(sql, params)
File "C:\Users\sms14\AtomProjects\myenv\lib\site-packages\django\db\backends\sqlite3\base.py", line 416, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.IntegrityError: NOT NULL constraint failed: bankapp_registration.date_of_birth
[24/Apr/2022 23:02:53] "POST /registration/ HTTP/1.1" 500 152567`enter code here`