python中如何用用户名对应每个人的信息,看到自己的指标
时间: 2024-03-12 19:49:28 浏览: 11
你可以通过定义一个包含用户信息的字典,使用用户名作为键,对应每个人的信息作为值,然后根据用户输入的用户名,从字典中获取对应的信息。例如:
```python
user_info = {
'Alice': {'age': 25, 'gender': 'female', 'score': 90},
'Bob': {'age': 30, 'gender': 'male', 'score': 85},
'Charlie': {'age': 28, 'gender': 'male', 'score': 95}
}
# 假设用户输入的用户名为Alice
username = 'Alice'
if username in user_info:
info = user_info[username] # 获取对应的用户信息
print(f"年龄:{info['age']}")
print(f"性别:{info['gender']}")
print(f"得分:{info['score']}")
else:
print("该用户不存在")
```
以上代码中,我们定义了一个名为`user_info`的字典,其中键为用户名,值为包含年龄、性别和得分的字典。然后,通过输入的用户名,在字典中查找对应的信息,并输出该用户的年龄、性别和得分。如果输入的用户名不存在于字典中,则输出“该用户不存在”。
相关问题
Django中如何用用户名对应每个人的信息,看到自己的指标
在Django中,您可以使用模型(Model)来定义每个人的信息,并将其存储在数据库中。下面是一个示例代码:
```python
from django.db import models
from django.contrib.auth.models import User
class Person(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
name = models.CharField(max_length=100)
age = models.IntegerField()
score = models.IntegerField()
def __str__(self):
return self.name
```
在上面的代码中,我们定义了一个名为`Person`的模型,它包含了每个人的姓名、年龄和得分。我们使用`OneToOneField`来将每个人与`User`模型关联起来,以便在需要的时候可以使用用户名来访问他们的信息。
接下来,您可以在视图函数(View)中使用`request.user`来获取当前用户的用户名,并使用它来访问他们的信息。下面是一个示例代码:
```python
from django.shortcuts import render
from .models import Person
def my_profile(request):
username = request.user.username
person = Person.objects.get(user__username=username)
return render(request, 'my_profile.html', {'person': person})
```
在上面的代码中,我们定义了一个名为`my_profile`的视图函数,它使用`request.user.username`来获取当前用户的用户名,并使用它来获取与该用户关联的`Person`对象。最后,我们将`Person`对象传递给`my_profile.html`模板,以便在模板中显示用户的信息。
在`my_profile.html`模板中,您可以使用`{{ person.name }}`、`{{ person.age }}`和`{{ person.score }}`等变量来显示用户的姓名、年龄和得分。
Django写一个完整的项目,使用Model定义每个人的信息,实现通过用户名对应每个用户的信息,看到用户自己的指标
好的,我了解了您的问题。首先,您需要定义一个Django Model来存储每个人的信息。以下是一个简单的模型示例,您可以根据自己的需求进行修改:
```python
from django.db import models
class Person(models.Model):
username = models.CharField(max_length=50)
age = models.IntegerField()
height = models.FloatField()
weight = models.FloatField()
# 其他字段
def __str__(self):
return self.username
```
接下来,您需要创建一个视图函数来显示每个用户的信息。以下是一个简单的示例视图函数:
```python
from django.shortcuts import render, get_object_or_404
from .models import Person
def user_info(request, username):
person = get_object_or_404(Person, username=username)
context = {
'person': person
}
return render(request, 'user_info.html', context)
```
在这个视图函数中,我们使用`get_object_or_404`函数来获取对应的用户信息。然后,我们将用户信息传递给一个模板,以便在网页上显示。下面是一个示例模板:
```html
<!DOCTYPE html>
<html>
<head>
<title>User Info</title>
</head>
<body>
<h1>{{ person.username }}'s Info</h1>
<ul>
<li>Age: {{ person.age }}</li>
<li>Height: {{ person.height }}</li>
<li>Weight: {{ person.weight }}</li>
<!-- 其他字段 -->
</ul>
</body>
</html>
```
在这个模板中,我们使用模板语言来显示用户信息。
最后,您需要将视图函数映射到URL。以下是一个简单的示例URL配置:
```python
from django.urls import path
from .views import user_info
urlpatterns = [
path('user/<str:username>/', user_info, name='user_info'),
]
```
在这个URL配置中,我们将`user_info`视图函数映射到`/user/<username>/`路径,其中`<username>`是动态的用户名参数。
现在,您可以通过访问`/user/<username>/`路径来查看每个用户的信息了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)