使用Django框架完成用户的增删改查操作

简介: 使用Django框架完成用户的增删改查操作

使用Django框架完成用户的增删改查操作,需要按照以下步骤进行:

  1. 创建Django项目:
    在命令行中进入项目目录,执行以下命令创建一个新的Django项目:

    django-admin startproject projectname
    

    其中projectname是你的项目名称。

  2. 创建应用:
    在项目目录下执行以下命令创建一个新的应用:

    python manage.py startapp appname
    

    其中appname是你的应用名称。

  3. 配置数据库:
    在项目的settings.py文件中设置数据库连接。默认使用的是SQLite数据库,你可以根据需要修改为其他数据库,比如MySQL。

  4. 创建用户模型:
    在应用的models.py文件中定义用户模型,例如:
    ```python
    from django.db import models

class User(models.Model):
name = models.CharField(max_length=50)
email = models.EmailField()
age = models.IntegerField()


5. 迁移数据库:
在命令行中执行以下命令,将用户模型迁移到数据库中:

python manage.py makemigrations
python manage.py migrate


6. 创建用户视图:
在应用的views.py文件中定义用户的增删改查视图,例如:
```python
from django.shortcuts import render, get_object_or_404, redirect
from .models import User

def user_list(request):
    users = User.objects.all()
    return render(request, 'user_list.html', {'users': users})

def user_detail(request, pk):
    user = get_object_or_404(User, pk=pk)
    return render(request, 'user_detail.html', {'user': user})

def user_create(request):
    if request.method == 'POST':
        name = request.POST['name']
        email = request.POST['email']
        age = request.POST['age']
        user = User.objects.create(name=name, email=email, age=age)
        return redirect('user_detail', pk=user.pk)
    return render(request, 'user_create.html')

def user_update(request, pk):
    user = get_object_or_404(User, pk=pk)
    if request.method == 'POST':
        user.name = request.POST['name']
        user.email = request.POST['email']
        user.age = request.POST['age']
        user.save()
        return redirect('user_detail', pk=user.pk)
    return render(request, 'user_update.html', {'user': user})

def user_delete(request, pk):
    user = get_object_or_404(User, pk=pk)
    user.delete()
    return redirect('user_list')
  1. 创建用户模板:
    在项目的templates目录下创建相关的HTML模板文件,例如:
    user_list.html:
    {% for user in users %}
     <p>{
        { user.name }}</p>
     <p>{
        { user.email }}</p>
     <p>{
        { user.age }}</p>
     <a href="{% url 'user_detail' pk=user.pk %}">Detail</a>
     <a href="{% url 'user_update' pk=user.pk %}">Update</a>
     <a href="{% url 'user_delete' pk=user.pk %}">Delete</a>
    {% endfor %}
    

user_detail.html:

<p>{
  { user.name }}</p>
<p>{
  { user.email }}</p>
<p>{
  { user.age }}</p>
<a href="{% url 'user_update' pk=user.pk %}">Update</a>
<a href="{% url 'user_delete' pk=user.pk %}">Delete</a>

user_create.html:

<form method="post">
    {% csrf_token %}
    <input type="text" name="name">
    <input type="email" name="email">
    <input type="number" name="age">
    <button type="submit">Create</button>
</form>

user_update.html:

<form method="post">
    {% csrf_token %}
    <input type="text" name="name" value="{
    { user.name }}">
    <input type="email" name="email" value="{
    { user.email }}">
    <input type="number" name="age" value="{
    { user.age }}">
    <button type="submit">Update</button>
</form>
  1. 配置URL:
    在应用的urls.py文件中设置URL路由,例如:
    ```python
    from django.urls import path
    from . import views

urlpatterns = [
path('', views.user_list, name='user_list'),
path('create/', views.user_create, name='user_create'),
path('/', views.user_detail, name='user_detail'),
path('/update/', views.user_update, name='user_update'),
path('/delete/', views.user_delete, name='user_delete'),
]


9. 运行项目:
在命令行中执行以下命令,启动Django开发服务器:

python manage.py runserver
```

现在你可以通过访问http://localhost:8000/来查看用户列表,并进行增删改查操作。

相关文章
|
1月前
|
API 数据库 数据安全/隐私保护
利用Django框架构建高效后端API服务
本文将介绍如何利用Django框架构建高效的后端API服务。通过深入分析Django框架的特性和优势,结合实际案例,探讨了如何利用Django提供的强大功能来构建高性能、可扩展的后端服务。同时,还对Django框架在后端开发中的一些常见问题进行了解决方案的探讨,并提出了一些建设性的建议。
52 3
|
3月前
|
JavaScript 数据库 Python
django实现增删改查分页接口
django实现增删改查分页接口
|
4月前
|
前端开发 数据库 Python
Python Web 开发: 解释 Django 框架的 MVC 架构是什么?
Python Web 开发: 解释 Django 框架的 MVC 架构是什么?
|
18天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【4月更文挑战第9天】本文对比了Python三大Web框架Django、Flask和Pyramid。Django功能全面,适合快速开发,但学习曲线较陡;Flask轻量灵活,易于入门,但默认配置简单,需自行添加功能;Pyramid兼顾灵活性和可扩展性,适合不同规模项目,但社区及资源相对较少。选择框架应考虑项目需求和开发者偏好。
|
4月前
|
存储 关系型数据库 MySQL
Python Django框架下将MySQL数据库的内容在网页上动态展示(修订版-2021-05-17)
Python Django框架下将MySQL数据库的内容在网页上动态展示(修订版-2021-05-17)
30537 0
|
4月前
|
开发框架 前端开发 JavaScript
Python 有哪些Web框架?比如Flask、Django等知识梳理
Python 有哪些Web框架?比如Flask、Django等知识梳理
|
3月前
|
前端开发 数据库 Python
使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
【1月更文挑战第13天】使用 Python 的 Web 框架(如 Django 或 Flask)来建立后端接口,用于处理用户的请求,从数据库中查找答案并返回给前端界面
89 7
|
15天前
|
设计模式 存储 数据库
框架分析(5)-Django
框架分析(5)-Django
|
1月前
|
设计模式 前端开发 数据库
Django是一个用Python编写的开源Web应用框架
Django是一个用Python编写的开源Web应用框架
13 1