2016-03-27 8 views
0

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.

+2

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

+0

Ich setze den Standard auf Null noch nicht funktioniert – losee

Antwort

0

obwohl ich herausgefunden haben, was mein Problem verursacht ich einen Weg gefunden, um es durch Zugabe von

{% post.publish | date %} 

verschwinden läßt es ärgert mich, ich weiß nicht, was es verursacht, aber Dies ist das pflaster

Verwandte Themen