小编Ful*_*ang的帖子

DRF:models.TextChoices 的动态文字类型提示

鉴于这个模型

from django.db import models

class Olympian(models.Model):
    MedalType = models.TextChoices('MedalType', 'GOLD SILVER BRONZE')
    medal = models.CharField(max_length=6, choices=MedalType.choices, default=MedalType.GOLD)
Run Code Online (Sandbox Code Playgroud)

这个函数接受作为CharField参数

fn_with_type_hint(olympian.medal)
Run Code Online (Sandbox Code Playgroud)

如何在不进行这样的硬编码的情况下更严格地输入提示参数?

def fn_with_type_hint(medal: Literal['Gold', 'Silver', 'Bronze']):
    pass
Run Code Online (Sandbox Code Playgroud)

我尝试过的

我尝试过Olympian.medal,但它只是一个字符串

medal: Olympian.medal
Run Code Online (Sandbox Code Playgroud)

我也尝试了这个的变体但无济于事

medal: Literal[*Olympian.MedalType.values]
Run Code Online (Sandbox Code Playgroud)

我也无法使用此解决方案,因为我不是从字符串列表开始

/sf/answers/4516556831/

python django enums django-rest-framework

5
推荐指数
0
解决办法
251
查看次数

Flex 子项的 100% 宽度是如何计算的?

当我将.sidebar宽度设置为 100% 时,它会比以前变小。

然而,当我移除 bodyfont-size: 1.3rem并切换.sidebars时width: 100%,它会变得稍微大一些。

我知道当我们将 font-size 设置为 1.3rem 时,.primary-content的水平宽度(如果不换行)仍应与 的.sidebar宽度(如果不换行)具有相同的比例。

所以我不确定flexbox如何计算宽度:100%

body {
  font-size: 1.3rem;
}

h1 {
  margin-top: 0;
}

.container {
  width: 80%;
  max-width: 1100px;
  margin: 0 auto;
}

.row {
  display: flex;
}

.primary-content {
  background-color: moccasin;
}

.sidebar {
  /* width: 100%; */
  padding: 1em;
  text-align: center;
  color: #fff;
  background-color: #136c72;
}
Run Code Online (Sandbox Code Playgroud)
<main class="main container row">
  <section class="primary-content">
    <h2>Quality designs made …
Run Code Online (Sandbox Code Playgroud)

html css flexbox

4
推荐指数
1
解决办法
122
查看次数

标签 统计

css ×1

django ×1

django-rest-framework ×1

enums ×1

flexbox ×1

html ×1

python ×1