python Django的显示个人信息详解

yizhihongxing

关于“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日

相关文章

  • Web框架django[Form]组件

    新手上路 Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 小试牛刀 1、创建Form类 # 创建一个类 from django import forms from django.forms import fields class DiyForm(form…

    Django 2023年4月13日
    00
  • django-orm django-orm 使链接查询(LEFT JOIN)的条件 写在 ON 之后,而不是 WHERE

    直接上代码: 注:FilteredRelation 不能使用嵌套查询。 from django.db.models import Q,FilteredRelation class Books(Model): id = … book_name = … author = models.ForeignKey(‘apps.Author’) class Aut…

    Django 2023年4月12日
    00
  • python3-django+uwsgi+supervisor+nginx跳坑指南(记录) 出现:unix:///tmp/supervisor.sock no such file

      首先运行django项目:在项目目录内: python manage.py runserver 0.0.0.0:8000 外部服务器访问:http://www.xxx.com:8000/ 可以正常运行  ###参考:https://blog.51cto.com/chenx1242/1859830 如果不对,不太对?这是因为django项目里设置了ALLO…

    Django 2023年4月11日
    00
  • 用django框架开发一个B2C购物网站用户注册知识点总结2

    一:用户部分: 用户注册: 用户注册序列化器: 1 import re 2 3 from django_redis import get_redis_connection 4 from rest_framework import serializers 5 6 from users.models import User 7 8 9 class CreateU…

    Django 2023年4月16日
    00
  • tornado和django的结合使用 tornado Server for django WSGI APP

    #!/usr/bin/env python # Run this with # Serves by default at # http://localhost:8080/hello-tornado and # http://localhost:8080/hello-django from tornado.options import options, def…

    Django 2023年4月11日
    00
  • Django 开发环境配置过程详解

    Django 开发环境配置过程详解 这篇攻略将详细讲解如何配置 Django 开发环境,包含两个示例说明。 环境要求 Python3.x pip 包管理器 步骤 1. 创建虚拟环境 虚拟环境可避免项目中使用全局安装的包,导致包冲突的问题。 使用命令行进入要创建虚拟环境的目录 执行以下命令创建虚拟环境 python3 -m venv myvenv 其中 myv…

    Django 2023年5月16日
    00
  • django用户登录和注销的实现方法

    下面我会详细讲解“django用户登录和注销的实现方法”的完整攻略,过程中也会包含两条示例说明。 Django用户登录和注销实现方法 在Django中,用户登录和注销是Web开发中必不可少的功能。Django提供了方便的认证系统,可以帮助我们快速实现这些功能。下面是具体的实现方法。 用户登录 表单设计 首先,我们需要设计一个用户登录表单。一般包含用户名和密码…

    Django 2023年5月16日
    00
  • Django进阶

    一:用户信息扩展 1.可以采用用户关联的方式进行扩展 2.可以采用继承的方式进行扩展 都需要在admin中进行设定,显示需要显示的内容 Django之HttpRequest和HttpResponse 二:自定义认证方式只不过是自己在view当中写login函数罢了user.check_password()user.has_perm三:权限的设计使用2.1 P…

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