1. 目录和效果预览
目录页预览: 效果预览
---index.html---
---user.html---
2. 后端文件撰写
models.py 文件如下。创建User类,创建数据列【name】、【age】、【addr】、【profession】。
from django.db import models
class User(models.Model):
name = models.CharField(max_length=50)
age = models.CharField(max_length=3)
addr = models.CharField(max_length=50)
profession = models.CharField(max_length=50)
views.py 文件如下。定义Index和User两个方法,获取数据库对象。在User中接收id参数,并-1 后作为数据库对象的索引。
from django.shortcuts import render
from sess.models import User
all_users = User.objects.all()
def Index(request):
return render(request,"index.html",{'all_users':all_users})
def User(request,id):
id = int(id)-1
user = all_users[id]
return render(request,"user.html",{'user':user})
urls.py 文件如下。user页面接收一个参数,并将参数传入views中的user方法中。
from django.contrib import admin
from django.urls import path,re_path
from sess.views import Index,User
urlpatterns = [
path('admin/', admin.site.urls),
re_path('^$',Index,name="index"),
re_path(r'user/(\d+)',User,name='user'),
]
3. 前端文件撰写
index.html 文件如下。在姓名展示一行中,将用户的id值传入到a标签中,该id值将传入到urls.py 的user中。
<table border=1>
<tr>
<th>编号</th>
<th>姓名</th>
</tr>
{% for user in all_users %}
<tr>
<td>{{ user.id }}</td>
<td><a href="{% url 'user' user.id %}">{{ user.name }}</a></td>
</tr>
{% endfor %}
</table>
user.html 文件如下。动态展示不同用户的具体信息。
<table border=1>
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
<th>住址</th>
<th>职业</th>
</tr>
<tr>
<td>{{ user.id }}</td>
<td>{{ user.name }}</td>
<td>{{ user.age }}</td>
<td>{{ user.addr }}</td>
<td>{{ user.profession }}</td>
</tr>
</table>
|