python
from django.db import models
from schedule.models import Event
class Task(models.Model):
name = models.CharField(max_length=100)
description = models.TextField()
start_time = models.DateTimeField()
end_time = models.DateTimeField()
def create_event(self):
event = Event.objects.create(
title=self.name,
description=self.description,
start=self.start_time,
end=self.end_time,
)
return event
python
from django.shortcuts import render, get_object_or_404, redirect
from .models import Task
from .forms import TaskForm
def create_task(request):
if request.method == 'POST':
form = TaskForm(request.POST)
if form.is_valid():
task = form.save()
task.create_event()
return redirect('task_detail', task.pk)
else:
form = TaskForm()
return render(request, 'create_task.html', {'form': form})
python
from django import forms
from .models import Task
class TaskForm(forms.ModelForm):
class Meta:
model = Task
fields = ('name', 'description', 'start_time', 'end_time')
html
<!-- create_task.html -->
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Create Task</button>
</form>
python
from django.urls import path
from . import views
urlpatterns = [
path('task/create/', views.create_task, name='create_task'),
]