first model

This commit is contained in:
Martin Quarda 2024-02-06 08:07:56 +01:00
parent 4ccec0f211
commit 488e0f7867
4 changed files with 34 additions and 3 deletions

View File

@ -16,7 +16,9 @@ Including another URLconf
"""
from django.contrib import admin
from django.urls import path
from ..alkatorapi.views import register
urlpatterns = [
path('admin/', admin.site.urls),
path('api/register', register),
]

View File

@ -1,3 +1,10 @@
from django.db import models
# Create your models here.
class User(models.Model):
first_name = models.CharField(max_length=120)
last_name = models.CharField(max_length=120)
email = models.EmailField(max_length=120)
register_date = models.DateTimeField(auto_now=True)
paid = models.BooleanField(default=False)
duration = models.DurationField(null=True)

View File

@ -1,3 +1,13 @@
from django.shortcuts import render
from django.http import HttpResponse
from datetime import date
# Create your views here.
from .models import User
def register(request):
if date.today() >= date(2024, 4, 21):
return HttpResponse("Too late!", status_code=400)
if not request.POST['agreement']:
raise HttpResponse("Je potřeba souhlasit se zpracováním údajů!", status_code=400)
user = User(first_name=request.POST['first_name'], last_name=request.POST['last_name'], email=request.POST['email'])
user.save()

View File

@ -14,6 +14,18 @@ class Main extends Component {
this.state = {
};
}
onSubmit(event){
event.preventDefault();
let form = document.forms[0];
let formData = new FormData(form);
fetch("/api/register", {
method:"POST",
body: JSON.stringify(formData),
headers: {
"Content-type": "application/json; charset=UTF-8"
}
}).then(resp => resp.json()).then(json => {console.log(json)});
}
render(){
return <div>
<div class="container">
@ -43,7 +55,7 @@ class Main extends Component {
<div class="container">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam sapien sem, ornare ac, nonummy non, lobortis a enim. Sed vel lectus. Donec odio tempus molestie, porttitor ut, iaculis quis, sem. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat. Aliquam erat volutpat. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Etiam neque. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat. Nullam rhoncus aliquam metus. In dapibus augue non sapien. Phasellus faucibus molestie nisl. Duis risus. Duis viverra diam non justo. Donec ipsum massa, ullamcorper in, auctor et, scelerisque sed, est. Mauris dictum facilisis augue. Etiam posuere lacus quis dolor. Integer lacinia. Vestibulum fermentum tortor id mi. Phasellus rhoncus.</p>
</div>
<form class="container">
<form class="container" onSubmit={(e) => this.onSubmit(e)}>
<h1>Registrace</h1>
<div class="mb-3">
<label for="name" class="form-label">Jméno</label>