更改了两处量表配置命名,优化了一处css

This commit is contained in:
mxr612 2025-03-14 23:52:54 +08:00
parent 4fc9660f8b
commit 74546fc2fb
7 changed files with 16 additions and 16 deletions

12
app.py
View File

@ -62,7 +62,7 @@ async def list(request: Request, tag: str):
"tags": tags,
"scales": scales,
"tag": tag
})
})
@app.get("/scales/{scale_id}", response_class=HTMLResponse)
async def scale(request: Request, scale_id: str):
@ -85,12 +85,12 @@ async def result(request: Request, scale_id: str):
if scale:
# 这里可以添加保存数据到数据库等逻辑
responses = {}
ranges = {}
options = {}
for subscale, qids in scale['subscales'].items():
responses[subscale] = 0
min_val = min(scale['range'].keys())
max_val = max(scale['range'].keys())
ranges[subscale] = [min_val*len(qids),max_val*len(qids)]
min_val = min(scale['options'].keys())
max_val = max(scale['options'].keys())
options[subscale] = [min_val*len(qids),max_val*len(qids)]
for qid in qids:
if qid<0:
responses[subscale] += min_val + max_val - int(form_data[str(-qid)])
@ -99,7 +99,7 @@ async def result(request: Request, scale_id: str):
return templates.TemplateResponse("result.html", {
"request": request,
"responses": responses,
"ranges": ranges,
"options": options,
"scale": scale,
"tags":tags
})

View File

@ -18,14 +18,14 @@ subscales:
宜人性: [3,-8,-13,-18,23,28,33,38]
神经质: [1,6,11,16,21,26,31,-36]
abstract: 中国大五人格问卷CBF-PI是由王孟成和戴晓阳等编制的中国拥有其知识产权的人格问卷相比NEO-PI
range:
options:
1: 完全不符合
2: 大部分不符合
3: 有点不符合
4: 有点符合
5: 大部分符合
6: 完全符合。
questions:
items:
1: 我常感到害怕
2: 一旦确定了目标,我会坚持努力地实现它
3: 我觉得大部分人基本上是心怀善意的

View File

@ -26,13 +26,13 @@ subscales:
Paranoid ideation: [8, 18, 43, 68, 76, 83]
Psychoticism: [7, 16, 35, 62, 77, 84, 85, 87, 88, 90]
Additional items: [19, 44, 59, 60, 64, 89]
range:
options:
0: NOT AT ALL
1: A LITTLE BIT
2: MODERATELY
3: QUITE A BIT
4: EXTREMELY
questions:
items:
1: Headaches
2: Nervousness or shakiness inside
3: Unwanted thoughts, words, or ideas that wont leave your mind

View File

@ -16,12 +16,12 @@ subscales:
内外和谐: [-2,-4,-7,-9,-11,-14]
阴阳转换: [1,5,8,10,12]
总分: [1,-2,-3,-4,5,-6,-7,8,-9,10,-11,12,-13,-14,-15,-16,-17,-18]
range:
options:
0: 非常不符合
1: 基本不符合
2: 基本符合
3: 非常符合
questions:
items:
1: 我认为世界上任何事情的发展,都有其历史根源和背景
2: 做事情既要考虑他人,又要兼顾自己,这对我来说太难了
3: 只有成功的事情,对我才有好处

View File

@ -136,7 +136,7 @@ main {
input[type="radio"]:checked+label {
border: 3px solid #909090;
border-radius: 20px;
border-radius: 40px;
}
}

View File

@ -8,7 +8,7 @@
<h1>{{ scale.title }} </h1>
<ul>
{% for key, value in responses.items() %}
<li>{{ key }}: 在 {{ranges[key][0]}} 到 {{ranges[key][1]}} 的量表中得分 {{ value }}</li>
<li>{{ key }}: 在 {{options[key][0]}} 到 {{options[key][1]}} 的量表中得分 {{ value }}</li>
{% endfor %}
</ul>
<div>

View File

@ -10,10 +10,10 @@
{{ scale.instructions|safe }}
</div>
<form class="scale" action="/scales/{{ scale_id }}" method="post">
{% for id, question in scale.questions.items() %}
{% for id, question in scale['items'].items() %}
<label for="{{ id }}">{{ id }}. {{ question }}</label>
<div class="scale-button">
{% for option, lable in scale.range.items() %}
{% for option, lable in scale.options.items() %}
<input type="radio" id="{{ id }}_{{ option }}" name="{{ id }}" value="{{ option }}" required>
<label for="{{ id }}_{{ option }}">{{ option }}</label>
{% endfor %}