django與mysql實現增刪_django與mysql實現簡單的增刪查改

模型定義

from django.db import models

class Grades(models.Model):

g_name = models.CharField(max_length=20)

create_date = models.DateTimeField()

girl_num = models.IntegerField()

boy_num = models.IntegerField()

isDelete = models.BooleanField(default=False)

def __str__(self):

return self.g_name

class Meta:

db_table = 'grades'

class Students(models.Model):

s_name = models.CharField(max_length=20)

s_gender = models.BooleanField(default=True)

s_age = models.IntegerField()

conetend = models.CharField(max_length=20)

isDlete = models.BooleanField(default=False)

# 關聯外鍵

s_grade = models.ForeignKey("Grades")

def __str__(self):

return self.s_name

class Meta:

db_table = 'students'

url

from django.conf.urls import url

from user import views

urlpatterns = [

url(r'^show_info/',views.show_info,name='show_info'),

url(r'^add_stu/',views.add_stu,name='add_stu'),

url(r'^del_stu/(\d+)/',views.del_stu,name='del_stu'),

url(r'^mod_stu/(\d+)/',views.mod_stu,name='mod_stu'),

url(r'^sel_stu/',views.sel_stu,name='sel_stu'),

]

視圖函數定義

from django.shortcuts import render

from django.http import HttpResponseRedirect

from django.urls import reverse

from user.models import Students,Grades

def show_info(request):

if request.method == 'GET':

stus = Students.objects.all()

return render(request,'info.html',{'stus':stus})

def add_stu(request):

if request.method == 'GET':

grades = Grades.objects.all()

return render(request,'add.html',{'grades':grades})

if request.method == 'POST':

name = request.POST.get('name')

age = request.POST.get('age')

gender = request.POST.get('sex')

content = request.POST.get('msg')

grade = request.POST.getlist('check')[0]

sgrade = Grades.objects.get(g_name=grade)

Students.objects.create(s_name=name,s_age=age,s_gender=gender,contend=content,s_grade=sgrade)

return HttpResponseRedirect(reverse('user:show_info'))

def del_stu(request,id):

if request.method == 'GET':

Students.objects.get(pk=id).delete()

return HttpResponseRedirect(reverse('user:show_info'))

def mod_stu(request,id):

if request.method == 'GET':

stu = Students.objects.get(pk=id)

grades = Grades.objects.all()

return render(request,'mod.html',{'stu':stu,'grades':grades})

if request.method == 'POST':

name = request.POST.get('name')

age = request.POST.get('age')

gender = request.POST.get('gender')

grade = request.POST.getlist('check')[0]

u_grade = Grades.objects.get(g_name=grade)

Students.objects.filter(pk=id).update(s_name=name,s_age=age,s_gender=gender,s_grade=u_grade)

return HttpResponseRedirect(reverse('user:show_info'))

def sel_stu(request):

if request.method == 'GET':

return render(request,'sel.html')

if request.method == 'POST':

name = request.POST.get('name')

try:

stu = Students.objects.get(s_name=name)

return render(request, 'sel.html', {'stu': stu})

except:

return render(request,'sel.html',{'error':'該學生不存在'})

頁面html定義

添加頁

{% extends 'base.html' %}

{% block content %}

{% csrf_token %}

姓名:

年齡:

性別:

描述:

{% for grade in grades %}

{{grade.g_name}}

{% endfor %}

{% endblock %}

修改頁

{% extends 'base.html' %}

{% block content %}

{% csrf_token %}

姓名:

年齡:

性別:

{% for grade in grades %}

{{grade.g_name}}

{% endfor %}

{% endblock %}

查詢頁

{% extends 'base.html' %}

{% block content %}

{% csrf_token %}

請輸入學生姓名:

{% if stu %}

序號姓名年齡性別簡介班級

{{stu.id}}{{stu.s_name}}{{stu.s_age}}{{stu.s_gender}}{{stu.contend}}{{stu.s_grade.g_name}}

{% endif %}

{{error}}

{% endblock %}

信息頁

{% extends 'base.html' %}

{% block content %}

序號姓名年齡性別班級班級成立時間刪除學生修改學生

{% for stu in stus %}

{{forloop.counter}}{{stu.s_name}}{{stu.s_age}}{{stu.s_gender}}{{stu.s_grade.g_name}}{{stu.s_grade.create_date}}刪除修改

{% endfor %}

增加學生

查詢學生

{% endblock %}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/529717.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/529717.shtml
英文地址,請注明出處:http://en.pswp.cn/news/529717.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

服務器本地文件,云服務器 本地文件

云服務器 本地文件 內容精選換一換在云服務器上搭建網站后,部分客戶通過本地網絡訪問網站時出現偶發性無法訪問的情況。確認客戶使用的本地網絡。若客戶的本地網絡是NAT網絡(本地主機通過NAT功能使用公網IP地址訪問彈性云服務器),可能會導致該問題。若客…

mysql oracle 備份數據庫備份_完整備份Oracle數據庫

修改備份文件的有效時間(必須用spfile啟動數據庫)SQLgt; alter system set control_file_record_keep_time30 scopeboth;修改備份文件的有效時間(必須用spfile啟動數據庫)SQL> alter system set control_file_record_keep_time30 scopeboth;System altered.先啟動歸檔SQL>…

修改域服務器IP,域控制器遷移以及修改服務器ip

windows2003域控制器如果服務器太舊就需要遷移至新的服務器上,經本人實驗,無誤。windows server 2003 域控制器轉移遷移準備工作:1. 在Windows Server 2003上運行dcpromo命令將其升級為域控制器,并在升級時選擇使其成為現有Windows 2003域的額外的域控制器。2. 在Wi…

mysql注入fuzz字典_sql注入fuzz bypass waf

本帖最后由 xmidf 于 2018-7-11 10:16 編輯作者:whynot 轉自:先知0x0 前言這里是簡單對sql注入繞過waf的一個小總結,非安全研究員,這里不講原理,關于原理搜集了一些其他大佬的文章(文章在最下面請自取)&#xff0…

python如何開發網站_如何用Python寫一個小網站?

一、準備 python基礎相關準備:pygame的基礎知識,參考目光博客的“用Python和Pygame寫游戲-從入門到精通”安python 3.8.0 在python官網下載,不多說。安裝pygame,命令:pip install pygame如安裝較慢,可以參考…

python項目選擇背景_Python - - 項目實戰 - - 游戲背景

目標背景交替滾動的思路確定顯示游戲背景01,背景交替滾動的思路確定運行 備課代碼,觀察 背景圖像的顯示效果:游戲啟動后,背景圖像 會 連續不斷地 向下方 移動在 視覺上 產生英雄的飛機不斷向上方飛行的 錯覺 - - 在很多跑酷游戲中…

【AI】人工智能復興的推進器之自然語言處理

目錄 一、什么是自然語言處理 二、詞袋模型 三、向量 四、代碼示例 五、大模型和自然語言處理 接上篇:【AI】人工智能復興的推進器之機器學習-CSDN博客 一、什么是自然語言處理 自然語言處理(Natural Language Processing,NLP&#xf…

css阻止換行_CSS中,如何處理短內容和長內容?

本文已經過原作者 shadeed 授權翻譯。當我們使用 CSS 構建布局時,考慮長短文本內容很重要,如果能清楚地知道當文本長度變化時需要怎么處理,可以避免很多不必要的問題。在許多情況下,添加或刪除一個單詞會改變 UI 的外觀&#xff0…

duilib設置透明窗口_界面開發心得與Duilib | 學步園

一、設置窗體透明度和指定透明色(如指定了黑色,即所有黑色的部分將會變得透明)DWORD dwExStyleGetWindowLong(m_hWnd,GWL_EXSTYLE);if((dwExStyle&WS_EX_LAYERED)!WS_EX_LAYERED)SetWindowLong(m_hWnd,GWL_EXSTYLE,dwExStyle|WS_EX_LAYERED);HMODULE hInst Loa…

influxdb無法實現關聯表_InfluxDb專業術語

InfluxDb專業術語重復是最好的學習方式,我們再重復一些Influx的概念吧,雖然很多已經講過,甚至上一課已經講了。我發現我自己還是有點啰嗦,不過這可能是一種好的學習方法哦。聚合函數aggregationaggregation是一個InfluxQL的函數&a…

mysql排序區分大小寫嗎_MySQL操作數據時區分大小寫

一般情況下使用SQL語句執行update login_ticket set status1 where ticket‘ABC‘會將ticket’abc‘的數據也改掉,那么需要在列名ticket的后面加上collate utf8_binupdate login_ticket set status1 where ticket COLLATE utf8_bin‘ABC‘這里的collate后面的是指該…

java的四種訪問權限_Java四種訪問權限

一、訪問權限簡介訪問權限控制: 指的是本類及本類內部的成員(成員變量、成員方法、內部類)對其他類的可見性,即這些內容是否允許其他類訪問。Java 中一共有四種訪問權限控制,其權限控制的大小情況是這樣的:public > protected …

java分割漢字_Java分割中英文,并且中文不能分割一半?

最近準備入其他坑位。在面試過程中,遇到下面這題筆試題,拿出來分享分享。題目:編寫一個截取字符串的函數,輸入為一個字符串和字節數,輸出為按字節截取的字符串。但是要保證漢字不被截半個,如“我ABC”4&…

full gc JAVA_java觸發full gc的幾種情況概述

前言近期被問及這個問題,在此記錄整理一下。System.gc()方法的調用此方法的調用是建議JVM進行Full GC,雖然只是建議而非一定,但很多情況下它會觸發 Full GC,從而增加Full GC的頻率,也即增加了間歇性停頓的次數。強烈影響系建議能不使用此方法就別使用,讓…

java excel條件格式_Java 設置Excel條件格式(高亮條件值、應用單元格值/公式/數據條等類型)...

概述在Excel中,應用條件格式功能可以在很大程度上改進表格的設計和可讀性,用戶可以指定單個或者多個單元格區域應用一種或者多種條件格式。本篇文章,將通過Java程序示例介紹條件格式的設置方法,設置條件格式時,因不同設…

java order()_java.util.Collections.reverseOrder()

描述reverseOrder()方法被用來獲取強加實現可比接口的對象collection的自然順序相反的比較器。聲明以下是java.util.Collections.reverseOrder()方法的聲明。public static Comparator reverseOrder()參數NA返回值方法調用返回一個比較器,該比較器對實現Comparable接…

jsp mysql登錄 demo_java jsp+servlet+mysql實現登錄網頁設計

涉及以下幾個文件:1。登錄頁面 login.jsp2,成功跳轉頁面 success.jsp3,失敗跳轉頁面 fail.jsp4,servlet 處理類 LoginTestServlet.java5,配置文件 web.xml--------------------------------------------- 依次看代碼 …

libsvm java下載_一個基于LIBSVM(JAVA)的股票預測demo

【實例簡介】一個基于LIBSVM的股票價格預測程序,采用隨機森林算法對樣本進行訓練和預測,使用的編程語言為JAVA。【實例截圖】【核心代碼】stock-master└── stock-master├── data│ ├── 000752.csv│ ├── 300251.csv│ ├── 300329.c…

mysql 家譜樹查詢_中國家譜族譜數據庫可以登錄、查詢了

原標題:中國家譜族譜數據庫可以登錄、查詢了中青在線武漢6月6日電(黨波濤 中國青年報中青在線記者 雷宇)數據量全球第一,最早可追溯到明朝萬歷年間。華中師范大學中國農村研究院今天對外發布,由該院建設的中國家譜族譜數據庫正式上線&#xf…

mysql-5.5.56配置_mysql 5.5.56免安裝版配置方法

mysql 5.5.56免安裝版配置方法發布時間:2020-10-18 23:16:23來源:腳本之家閱讀:74作者:阿安安mysql 5.5.56免安裝版配置方法,本文通過文字代碼詳解,具體內容如下所示:1. 下載mysql-5.5.56-winx6…