python Django的显示个人信息详解

关于“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技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • 利用Python Django实现简单博客系统

    请看以下详细讲解“利用Python Django实现简单博客系统”的完整攻略。 1. 确定博客系统的基本功能 在设计博客系统之前,首先需要明确博客系统的基本功能,例如: 用户可以通过博客网站查看已发布文章; 网站后台管理员可以登录后台管理系统发布新的博客文章; 网站后台管理员可以对已发布的文章进行编辑和删除; 网站前台访客可以通过搜索框搜索博客文章。 2. …

    Django 2023年5月16日
    00
  • Django 项目重命名的实现步骤解析

    下面是 Dajngo 项目重命名的实现步骤解析的完整攻略: 第一步:备份项目文件 在重命名项目之前,必须先备份所有项目文件。备份可以防止出现不可预知的错误。 第二步:重命名项目目录 将项目目录重命名为新名称。例如,将原项目目录名“old_project”改为“new_project”。 示例: mv old_project/ new_project/ 第三步…

    Django 2023年5月15日
    00
  • Django使用jinja2模板的实现

    实现在Django中使用jinja2模板,需要以下步骤: 第一步:安装jinja2 在命令行输入以下命令,安装jinja2: pip install jinja2 第二步:配置Django项目 在Django项目的settings.py文件中,添加以下配置信息: TEMPLATES = [ { ‘BACKEND’: ‘django.template.back…

    Django 2023年5月16日
    00
  • Django之多对多查询与操作方法详解

    Django之多对多查询与操作方法详解 在Django中,多对多关系是非常常见且重要的关系之一,学习多对多查询与操作方法对于开发Django应用程序非常有用。下面将对多对多关系的查询及操作方法进行详细讲解。 多对多查询 多对多查询的核心在于通过中间表进行查询。在Django中,对于多对多关系,会默认生成一个中间表来连接两个相关的模型类。假设有两个模型类Boo…

    Django 2023年5月16日
    00
  • 使用Django开发简单接口实现文章增删改查

    下面我将详细讲解使用Django开发简单接口实现文章增删改查的完整攻略。 简介 Django是一个基于MVC架构的Web开发框架,提供了一整套用于快速开发高质量Web应用程序所需的组件和工具。在Django中,我们可以使用ORM(Object Relational Mapping)来操作数据库,从而方便地对数据库进行增删改查操作。 开发环境要求 Python…

    Django 2023年5月16日
    00
  • Django与Vue交互,实现注册的图片验证码没有加载的原因

    注册功能之图片验证码:   1.实现过程:   传递uuid给后端,再发送图片验证码的请求给后端,后端存储uuid并生成图片验证码保存到redis,然后将图片验证码返回给前端。   当用户输入图片验证码的时候,前端会发送uuid和用户输入的图片验证码内容给后端,后端进行比较校验。   2.实现步骤:   后端:实现接口,获取图片验证码,生成图片验证码,保存图…

    Django 2023年4月11日
    00
  • django – 总结 – redis缓存

    八、redis 补充- 操作 – 增删改查 对字典,重新设计结构,增删改查。 hmset  keys  hget   scan_iter  hgetall  import redis import json conn = redis.Redis(host=’140.143.227.206′,port=6379,password=’1234′) “”” —…

    Django 2023年4月13日
    00
  • Django笔记八之model中Meta参数的使用

    前面介绍了 model 的字段属性,字段类型,这篇笔记介绍一下 model 的 Meta 选项。 这个选项提供了一些参数,比如排序(ordering),表名(db_table)等。 但这都不是必需的,都是作为可选项,主要是为使用者提供方便的、自定义的一些用法。 以下是本次笔记的目录列表: db_table get_latest_by managed orde…

    2023年4月10日
    00
合作推广
合作推广
分享本页
返回顶部