Hi All
I am New to Django. I am trying to Register a New User using an HTML Form which will send Data to Django where it will be Save in Sqlite Database & return a Successful Message. But when I entered data in HTML Registration form & press the Submit button from Registration Page, it shows Error
“Your file couldn’t be accessed”. Also, Data is Not received at Django neither Saved in Database.
Below is the Code
1- NewUser.html -----Registration Form - HTML
<!DOCTYPE html>
<html lang="en">
<head>
<title>Traffic Violation - New User Registration</title>
<link rel="stylesheet" href="stylesNU.css">
</head>
<body>
<div class="main">
<center><h2>New User Registration</h2></center>
</div>
<div class="forms">
<form id="NewUser" action="{% url 'register' %}" method="POST">
{% csrf_token %}
<label for="name">Name:</label><br>
<input type="text" id="name" name="name"><br>
<label for="email">Email:</label><br>
<input type="email" id="email" name="email"><br>
<label for="password">Password:</label><br>
<input type="password" id="password" name="password"><br>
<script>
// Generate current datetime for Hidden fields
var current_datetime = new Date().toISOString();
document.getElementById('current_datetime').value = current_datetime;
</script>
<!-- Hidden fields for created_at and updated_at -->
<input type="hidden" name="created_at" value="{{ current_datetime }}">
<input type="hidden" name="updated_at" value="{{ current_datetime }}">
<input type="submit" value="Register">
</form>
</div>
</body>
</html>
2- Django Structure
DjangoTestProject/
├── demo/
│ ├── __init__.py
| ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ ├── wsgi.py
├── user/
| ├── migrations
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── models.py
│ ├── tests.py
| ├── urls.py
│ └── views.py
├── db.sqlite3
2.1 demo - settings.py
Added following under INSTALLED_APPS
'rest_framework',
'user',
2.2 demo - urls.py
from django.contrib import admin
from django.urls import path
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', include([
path('user/', include('user.urls')),
])),
]
2.3 user - admin
from django.contrib import admin
from .models import UserProfile
admin.site.register(UserProfile)
2.4 user - models.py
from django.db import models
#Create your models here.
class UserProfile(models.Model):
name = models.CharField(max_length=200)
email = models.EmailField()
password = models.CharField(max_length=200)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
def __str__(self):
return self.name
2.5 user - urls.py
from django.urls import path
from . import views
urlpatterns = [
path('register/', views.register, name='register'),
path('cart.json', views.cart_data_view, name='cart_json'),
]
2.6 user - views.py
from django.shortcuts import render
from django.http import HttpResponse
#Create your views here.
def register(request):
if request.method == 'POST':
name = request.POST["name"]
email = request.POST["email"]
password = request.POST["password"]
created_at = request.POST["created_at"]
updated_at = request.POST["updated_at"]
#Check Data received at Django
print(name, email, password, created_at, updated_at)
# Save data to database
user_profile = models.UserProfile.objects.create(name=name, email=email, password=password, created_at=created_at, updated_at=updated_at)
user_profile.save()
# Return OK message to the registration page
return HttpResponse('OK')
# Redirect to registration success page
# return render(request, "Registration_Success.html")
# Render the registration form
return render(request, 'Index.html')
Thanks in Advance
Regards
