Dies ist der erste Beitrag
Wie der Titel schon sagt, war es eine Geschichte, bei der ich Schwierigkeiten hatte, mit Django Daten zu einem bestimmten Datum und einer bestimmten Uhrzeit zu erhalten. Ich habe einen ganzen Tag verbracht, bevor ich tun konnte, was ich wollte, und habe es als Memorandum veröffentlicht, damit ich diese Not nicht vergesse. Ich hoffe, dass Menschen, die diesen Artikel lesen, den Schmerz lindern können, dasselbe zu tun. ..
-Wie kann ich beim Filtern von DateTimeField Monat oder Tag angeben?
Es kann ein wenig hilfreich sein für diejenigen, die Probleme haben wie.
models.py
from django.db import models
class Article(models.Model):
user_id = models.IntegerField()
wirriten_date = models.DateTimeField()
text = models.CharField(max_length=255)
def __str__(self):
return self.text
urls.py
from django.urls import path
from . import views
urlpatterns = [
path('<int:user_id>/<int:date_delta>/', views.index, name=index),
#Hier Datum_Delta Gibt an, vor wie vielen Tagen Sie erhalten möchten.
]
Als ich solche Modelle und URLs definiert habe, habe ich versucht, alle Sätze des vom Benutzer angegebenen Benutzers an dem von date_delta angegebenen Datum abzurufen.
Zusammenfassend stellte ich fest, dass ich Daten an die Vorlage senden konnte, indem ich die Ansicht wie folgt schrieb.
views.py
from django.shortcuts import render
from .models import Article
from datetime
def index(request, user_id, date_delta):
date_now = datetime.datetime.now()
wrriten_date = date_now - datetime.timedelta(days=date_delta)
article = Article.objects.filter(user_id=user_id, menu_date__month=menu_date.month, menu_date__day=menu_date.day)
context = {
'article': article,
}
return render(request, 'myapp/index.html', context)
index.html
<p>
{{ article.1.text }}
<!--Hinweis! Artikel[1]Wird zu einem Fehler führen-->
</p>
Das größte Problem war, wie die Filtermethodenbedingung von Article.objects geschrieben wird. __ Monat und __ Tag nach menu_date sind Suchfelder, und Sie können den Modellvariablennamen Bedingungen hinzufügen.
Ich habe im folgenden Artikel etwas über Nachschlagefelder gelernt. ・ Web Dee Co., Ltd./Service/BLOG/Django Verwendung der Feldsuche https://webty.jp/staffblog/production/post-1263/
Wenn Sie mit einer Vorlage auf alle Daten zugreifen, können Sie auf alle Daten zugreifen, indem Sie wie oben gezeigt ".data number" eingeben.
Selbst wenn Sie Ansichten wie im vorherigen Abschnitt schreiben, funktioniert dies je nach Umgebung nicht gut. In diesem Fall kann das Ändern der Zeitzoneneinstellung gut funktionieren.
setting.py
TIME_ZONE = 'Asia/Tokyo'
USE_TZ = True
In meinem Fall habe ich die Zeitzone in der Einstellung wie oben eingestellt, und als ich die Zeitzone auf Japan eingestellt habe, hat es gut funktioniert.
Ich hoffe dieser Artikel hilft jemandem noch ein wenig. Da ich noch ein Anfänger in Programmierung und Qiita bin, kann es viele Punkte geben, die ich nicht erreicht habe, aber ich möchte auch in Zukunft aktiv ausgeben. Wenn Sie Ratschläge wie "Das ist seltsam" oder "Ich sollte das mehr tun!" Haben, würde ich mich freuen, wenn Sie einen Kommentar abgeben könnten.
・ Web Dee Co., Ltd. / Service / BLOG / Django Verwendung der Feldsuche https://webty.jp/staffblog/production/post-1263/
Recommended Posts