鉴于这个模型
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)
我也无法使用此解决方案,因为我不是从字符串列表开始
当我将.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)