python - 字符串到日期字段的转换
问题描述
请耐心等待,因为以前也有人问过类似的问题。我只是不知道如何正确应用它。我有一个名为“首次亮相”的 Charfield(又名字符串)形式的字段,它以 2019-06-19 的形式表示日期。
我希望它采用这种格式,而不是 06/19/2019 或 6/19/2019。有人可以帮我解决这个问题,以便我可以在我的模板中以这种格式调用它。
#MODELS
class PlayerLkup(models.Model):
playerid = models.CharField(db_column='playerID', primary_key=True, max_length=255)
birthmonth = models.IntegerField(db_column='birthMonth', blank=True, null=True)
birthday = models.IntegerField(db_column='birthDay', blank=True, null=True)
weight = models.IntegerField(blank=True, null=True)
debut = models.CharField(max_length=255, blank=True, null=True) # this is the field I'm working with
#VIEWS
from django.shortcuts import render
from .models import PlayerLkup
def player_info(request, playerid):
playerdata = PlayerLkup.objects.get(playerid=playerid)
battingstats = playerdata.hittingstats_set.all() #Hittingstats table has a foreign key that references PlayerLkup table
return render(request, 'careerstats/playerpage.html', {'playerdata': playerdata, 'battingstats': battingstats})
#TEMPLATE
{{ playerdata.debut }} # Unformatted call of debut
解决方案
在您的视图函数中,使用字符串split()
函数将首次亮相分成单独的年、月和日值,然后将它们重新组合成您想要的格式。
year, month, day = playerdata.debut.split("-")
new_debut = "%s/%s/%s" % (month, day, year)
然后将这个新值传递到您的模板渲染中:
return render(request, 'careerstats/playerpage.html', {'playerdata': playerdata, 'battingstats': battingstats}, 'new_debut': new_debut)
最后,将其显示在模板中:
{{ new_debut }}
推荐阅读
- java - CTCI 的字符串置换解决方案的这个解决方案是否正确?
- google-apps-script - Google AppScript 在输入日期时移动行
- php - 使用键组合对象数组
- android-studio - 创建过程失败;代码 193。1% 不是有效的 Win32 应用程序
- v8 - 如何从 V8 中获取 JS 函数的返回值?
- python - 使用 numba jit 时没有加速
- azure - 通过 SPN 连接到 Azure KeyVault
- javascript - 反应本机信号器 ASP .net WebApi 2 (SignalR: Fired ajax abort async = true。)
- java - 在 ArrayList 中存储不同类型的对象
- cloud - 将 Docusaurus 网站部署到 PCF(Pivotal Cloud Foundry)