Ich kann nicht herausfinden, warum mein post.publish nebenan Mitternacht hinzufügt. Ich folgte einem Tutorial und er hatte dieses Problem nicht. Heres mein CodeWarum gibt mein Django post.publish das Datum mit Mitternacht zurück, wenn es nicht um Mitternacht veröffentlicht wird
models.py
class Post(models.Model):
STATUS_CHOICES = (
('draft', 'Draft'),
('published', 'Published'),
)
title = models.CharField(max_length=250)
slug = models.SlugField(max_length=250,
unique_for_date='publish')
image = models.ImageField(upload_to=upload_location,
null=True,
blank=True,
height_field='height_field',
width_field='width_field')
height_field = models.IntegerField(default=0)
width_field = models.IntegerField(default=0)
author = models.ForeignKey(User,
related_name='blog_posts')
body = models.TextField()
publish = models.DateTimeField(default=timezone.now)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
status = models.CharField(max_length=10,
choices=STATUS_CHOICES,
default='draft')
video = models.BooleanField(default=False)
video_path = models.CharField(max_length=320,
null=True,
blank=True,)
class Meta:
ordering = ('-publish',)
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('blog:post_detail', kwargs={"slug": self.slug})
settings.py
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'America/New_York'
USE_I18N = True
USE_L10N = True
USE_TZ = True
mein forms.py
class PostForm(forms.ModelForm):
publish = forms.DateField(
widget=forms.SelectDateWidget,
initial=datetime.date.today
)
class Meta:
model = Post
fields = [
"title",
"body",
"author",
"image",
"video_path",
"video",
"publish",
"tags",
"status"
]
Ich bin mir nicht sicher, sicher, was es ist.
Wahrscheinlich gibt das 'SelectDateWidget' (wie der Name schon sagt) nur ein Datum aus, das django in ein Datetime-Objekt übersetzt, wobei Stunde, Minute, Sekunde usw. auf den Standardwert '0' gesetzt sind. – schwobaseggl
Ich setze den Standard auf Null noch nicht funktioniert – losee