关于“python Django的显示个人信息详解”的攻略,我整理了以下流程,也包含两条示例说明。
1. 创建模型
在 Django 中,我们需要先创建一个模型,即个人信息的数据库模型。通过以下几个步骤可以实现:
1.1 在已有的 Django 项目中创建一个 app(如果还没有 app,可以先创建一个 app)
python manage.py startapp info
1.2 在 app 中新建一个 model.py 文件,编写个人信息模型(字段根据实际需求灵活设置)
from django.db import models
class Person(models.Model):
name = models.CharField("姓名", max_length=30)
age = models.IntegerField("年龄")
sex = models.CharField("性别", max_length=2)
email = models.EmailField("邮箱")
phone = models.CharField("电话", max_length=20)
address = models.CharField("地址", max_length=100)
more = models.TextField("更多", null=True, blank=True)
pub_date = models.DateTimeField("发布时间", auto_now_add=True)
class Meta:
ordering = ['-pub_date']
verbose_name = "个人信息"
verbose_name_plural = verbose_name
def __str__(self):
return self.name
1.3 在 settings.py 文件中注册 app
INSTALLED_APPS = [
...
'info',
]
1.4 创建数据库表(同步模型到数据库)
python manage.py makemigrations
python manage.py migrate
2. 编写视图函数
在 Django 中,视图函数负责根据 URL 请求,处理业务逻辑,最终返回响应结果。
2.1 views.py
在 app 中编写 views.py 文件,视图函数代码如下:
from django.shortcuts import render
from .models import Person
def person_detail(request, person_id):
person = Person.objects.get(pk=person_id)
return render(request, 'info/person_detail.html', {'person': person})
2.2 urlconf
绑定 URL 到视图函数,例如:
from django.urls import path
from . import views
app_name = 'info'
urlpatterns = [
path('person/detail/<int:person_id>/', views.person_detail, name='person_detail'),
]
3. 编写模板
Django 的模板语言类似于 HTML,可以在其中加入变量和逻辑语句。
3.1 定义模板
在 app 下建立 templates 文件夹,并添加以下模板文件:
3.1.1 person_detail.html
{% extends 'base.html' %}
{% block content %}
<h1>{{ person.name }}的个人信息</h1>
<ul>
<li>姓名:{{ person.name }}</li>
<li>年龄:{{ person.age }}</li>
<li>性别:{{ person.sex }}</li>
<li>邮箱:{{ person.email }}</li>
<li>电话:{{ person.phone }}</li>
<li>地址:{{ person.address }}</li>
{% if person.more %}
<li>更多:{{ person.more }}</li>
{% endif %}
</ul>
{% endblock %}
3.2 模板继承
我们可以创建一个基本的 HTML 模板,然后在模板中继承。这样,在多个页面使用到的同一个部分,将不会在多个页面中重复定义。
3.2.1 base.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title %}Django Personal Info{% endblock %}</title>
</head>
<body>
{% block content %}
{% endblock %}
</body>
</html>
4. 显示个人信息
完成以上三个步骤之后,我们将在 Web 上显示个人信息。
示例一:URL 参数
from django.urls import reverse
person_id = 1
url = reverse('info:person_detail', args=(person_id,))
示例二:模板中使用 URL
<a href="{% url 'info:person_detail' person.id %}">{{ person.name }}</a>
希望这份攻略对你有用。如果还有疑问,可以在评论区咨询。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python Django的显示个人信息详解 - Python技术站