真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

4、django操作單表進行增刪改

1、django初始化配置
https://blog.51cto.com/yht1990/2382898

成都創(chuàng)新互聯主打移動網站、網站建設、成都做網站、網站改版、網絡推廣、網站維護、域名注冊、等互聯網信息服務,為各行業(yè)提供服務。在技術實力的保障下,我們?yōu)榭蛻舫兄Z穩(wěn)定,放心的服務,根據網站的內容與功能再決定采用什么樣的設計。最后,要實現符合網站需求的內容、功能與設計,我們還會規(guī)劃穩(wěn)定安全的技術方案做保障。

2、創(chuàng)建模型
D:\mysite\polls\models.py

from django.db import models
class Publisher(models.Model):
    id = models.AutoField(primary_key=True)  # 自增的ID主鍵
    name = models.CharField(max_length=64, null=False)

3、建表

python manage.py makemigrations
python manage.py migrate

4、url配置
主項目url
D:\mysite\mysite\urls.py

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

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

應用項目url
D:\mysite\polls\urls.py

from django.urls import path

from . import views
 #添加命名空間
app_name = 'polls'
urlpatterns = [

    #訪問列表頁
    path('publisher_list/', views.published_list,name='published_list'),
        #添加數據
    path('add_publisher/', views.add_publisher,name='add_publisher'),
    #刪除數據
    path('delete_publisher/', views.delete_publisher,name='delete_publisher'),
    #path('edit_publisher/', views.edit_publisher,name='edit_publisher'),
]

五、靜態(tài)html(以后有列表頁,數據增、改頁面,刪除不需要單獨html頁面)
列表頁
D:\mysite\polls\templates\polls\publisher_list.html




    
    出版社列表



添加新的出版社


        {% for publisher in publisher_list %}
            
        {% endfor %}
    
序號 ID 出版社名稱 操作
{{ forloop.counter }} {{ publisher.id }} {{ publisher.name }} 刪除 編輯

#靜態(tài)htm數據增頁面
D:\mysite\polls\templates\polls\add_publisher.html




    
    添加出版社



添加出版社

{% csrf_token %}

{{ error }}

#靜態(tài)html改頁面
D:\mysite\polls\templates\polls\edit_publisher.html




    
    編輯出版社



編輯出版社

python后端
D:\mysite\polls\views.py

from django.shortcuts import HttpResponse, render, redirect
from polls import models
from .models import Publisher

#列表頁函數
def published_list(request):
    ret = Publisher.objects.all().order_by("id")
    return render(request,"polls/publisher_list.html",{"publisher_list": ret})

#添加函數
def add_publisher(request):
    error_msg = ""

        #如果是POST請求,我就取到用戶填寫的數據
    print(request.method)
    if request.method == "POST":
        new_name = request.POST.get("publisher_name", None)
        if new_name:
            # 通過ORM去數據庫里新建一條記錄
            Publisher.objects.create(name=new_name)
           #返回訪問列表面,退出
            return redirect("/polls/publisher_list/")
        else:
                    #如果用戶post后沒有數據則設置變量
            error_msg = "出版社名字不能為空!"
     #如果是get請求訪問此頁面
    return render(request, "polls/add_publisher.html", {"error": error_msg})

#刪除函數
def delete_publisher(request):
    print(request.GET)
    print("=" * 120)
    #1. 從GET請求的參數里面拿到將要刪除的數據的ID值
    del_id = request.GET.get("id", None)  # 字典取值,娶不到默認為None
    #如果能取到id值
    if del_id:
        # 去數據庫刪除當前id值的數據
        #根據id值查找到數據
        del_obj = models.Publisher.objects.get(id=del_id)
        #刪除
        del_obj.delete()
        #返回刪除后的頁面,跳轉到出版社的列表頁,查看刪除是否成功
        return redirect("/polls/publisher_list/")
    else:
        return HttpResponse("要刪除的數據不存在!")

#編輯函數
def edit_publisher(request):
    #用戶修改完出版社的名字,點擊提交按鈕,給我發(fā)來新的出版社名字
    if request.method == "POST":
        print(request.POST)
        #取新出版社名字
        edit_id = request.POST.get("id")
        new_name = request.POST.get("publisher_name")
        #更新出版社
        #根據id取到編輯的是哪個出版社
        edit_publisher = models.Publisher.objects.get(id=edit_id)
        edit_publisher.name = new_name
        edit_publisher.save()  # 把修改提交到數據庫
        #跳轉出版社列表頁,查看是否修改成功
        return redirect("/polls/publisher_list/")
    #從GET請求的URL中取到id參數
    edit_id = request.GET.get("id")
    if edit_id:
        #獲取到當前編輯的出版社對象
        publisher_obj = models.Publisher.objects.get(id=edit_id)
        return render(request, "polls/edit_publisher.html", {"publisher": publisher_obj})
    else:
        return HttpResponse("編輯的出版社不存在!")

訪問列表頁
http://127.0.0.1:8000/polls/publisher_list/
4、django操作單表進行增刪改
訪問添加頁
http://127.0.0.1:8000/polls/add_publisher/
4、django操作單表進行增刪改
訪問編輯頁
http://127.0.0.1:8000/polls/edit_publisher/?id=7
4、django操作單表進行增刪改


網站標題:4、django操作單表進行增刪改
標題路徑:http://weahome.cn/article/pdpdji.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部