- Define a model in your Django application:
from django.db import models
class MyModel(models.Model):
my_datetime_field = models.DateTimeField()
- Create a forms.py file in your app and import the necessary modules:
from django import forms
from .models import MyModel
- Create a ModelForm class for your model in forms.py:
class MyModelForm(forms.ModelForm):
class Meta:
model = MyModel
fields = ['my_datetime_field']
- In your views.py, import the necessary modules:
from django.shortcuts import render, redirect
from .forms import MyModelForm
- Create a view function to handle the form:
def create_model_instance(request):
if request.method == 'POST':
form = MyModelForm(request.POST)
if form.is_valid():
form.save()
return redirect('success_url')
else:
form = MyModelForm()
return render(request, 'your_template.html', {'form': form})
- In your template (your_template.html), render the form:
<form method="post" action="{% url 'create_model_instance' %}">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Submit</button>
</form>
- Define a URL pattern in urls.py to map to your view:
from django.urls import path
from .views import create_model_instance
urlpatterns = [
path('create/', create_model_instance, name='create_model_instance'),
]
- Include the app's URLs in your project's urls.py:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('your_app/', include('your_app.urls')),
]