ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

基于django框架web项目实战开发四 django+mysql实现增删查改功能

2019-05-02 21:55:05  阅读:396  来源: 互联网

标签:username web views request django 查改 path id myweb


本次内容是基于上一节的基础上而进行,上次内容:https://blog.csdn.net/weixin_42914677/article/details/89743027

第一步:编写增删查改功能代码

打开项目myweb目录下view.py,

并编写以下代码

view.py

from django.shortcuts import render, redirect
from myweb.models import User
# Create your views here.
#页面查询用户信息
def queryUsers(request):
    # 到数据库查询用户信息
    us = User.objects.all()
    # 将数据发给页面
    context = {"ls": us}
    return render(request, "users.html", context)

 # 打开添加页面
def openAdd(request):
    return render(request, "userAdd.html")

 # 保存数据
def saveUser(request):
    username = request.GET.get('username')
    password = request.GET.get('password')
    User.objects.create(username=username, password=password)
    return redirect("/myweb/queryUsers")

    #打开修改页面
def openEdit(request):
    id = request.GET.get('id')
    # 到数据库查询用户信息
    m = User.objects.filter(id=id).first()
    # 将数据发给页面
    context = {"m": m}
    return render(request, "userEdit.html", context)

    #更新数据
def updateUser(request):
    id = request.GET.get('id')
    username = request.GET.get('username')
    password = request.GET.get('password')
    User.objects.filter(id=id).update(username=username, password=password)
    return redirect("/myweb/queryUsers")

    #删除数据
def deleteUser(request):
    id = request.GET.get('id')
    User.objects.filter(id=id).delete()
    return redirect("/myweb/queryUsers")



第二步:编写html页面

在工程目录下的templates新建三张页面

users.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Users</title>
</head>
<body>
<a href="/myweb/openUserAdd" >添加</a>
<table border="1">
        <thead>
        <tr>
            <th>ID</th>
            <th>名称</th>
            <th>操作</th>
        </tr>
        </thead>
        <tbody>
        {% for row in ls %}
            <tr>
                <td>{{ row.id }}</td>
                <td>{{ row.username }}</td>
                <td>
                    <a href="/myweb/deleteUser?id={{ row.id }}">删除</a>
                    |
                    <a href="/myweb/openEdit?id={{ row.id }}">编辑</a>
                </td>
            </tr>
        {% endfor %}
        </tbody>
    </table>

</body>
</html>

userAdd.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册</title>
</head>
<body>
<form action="/myweb/saveUser" method="GET">
    {% csrf_token %}
    账号:<input name="username"><br>
    密码:<input name="password"><br>
    <input type="submit" value="添加">
</form>

</body>
</html>

userEdit.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注册</title>
</head>
<body>
<form action="/myweb/updateUser" method="GET">
    {% csrf_token %}
    <input type="hidden" name="id" value="{{ m.id }}">
    账号:<input name="username"  value="{{ m.username }}"><br>
    密码:<input name="password"  value="{{ m.password }}"><br>
    <input type="submit" value="提交">
</form>

</body>
</html>

第三步:设置路由

在工程目录下,找到urls.py

urls.py

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('myweb/', include('myweb.adminurls')),
]

在项目目录下新建adminurls.py,并编写以下代码

adminurls.py

from django.urls import path
from myweb import views

urlpatterns = [
    path('', views.queryUsers),
    path('queryUsers/', views.queryUsers),
    path('openUserAdd/', views.openAdd),
    path('saveUser/', views.saveUser),
    path('openEdit/', views.openEdit),
    path('updateUser/', views.updateUser),
    path('deleteUser/', views.deleteUser),
]

第四步:启动工程,测试

启动完成后,打开浏览器输入:http://localhost:8000/myweb/

添加数据后,数据显示

功能编写完成,欢迎评论!!!

标签:username,web,views,request,django,查改,path,id,myweb
来源: https://blog.csdn.net/weixin_42914677/article/details/89763415

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有