django modelform datetime

  1. Define a model in your Django application:
from django.db import models

class MyModel(models.Model):
    my_datetime_field = models.DateTimeField()
  1. Create a forms.py file in your app and import the necessary modules:
from django import forms
from .models import MyModel
  1. Create a ModelForm class for your model in forms.py:
class MyModelForm(forms.ModelForm):
    class Meta:
        model = MyModel
        fields = ['my_datetime_field']
  1. In your views.py, import the necessary modules:
from django.shortcuts import render, redirect
from .forms import MyModelForm
  1. 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})
  1. 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>
  1. 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'),
]
  1. 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')),
]