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

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

三、2:使用orm制作表圖的增、刪、改、查-創(chuàng)新互聯(lián)

一、首先配置orm

創(chuàng)新互聯(lián)建站2013年開創(chuàng)至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元漳平做網(wǎng)站,已為上家服務(wù),為漳平各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

1、首先在settings.py中配置(數(shù)據(jù)庫需要手動(dòng)提前先建好)

注釋以下內(nèi)容(47行)

# 'django.middleware.csrf.CsrfViewMiddleware',
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'orm_db1',
        'HOST':'127.0.0.1',
        'PORT':3306,
        'USER':'root',
        'PASSWORD':'mariadb.123',
    }
}

2、在__init__.py中添加以下內(nèi)容:


import pymysql
pymysql.install_as_MySQLdb()

二、在項(xiàng)目中配置

1、在models.py中創(chuàng)建用戶表與字段填寫

from django.db import models

class User(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=32)
    password = models.CharField(max_length=32)
    address = models.CharField(max_length=32)
    phone=models.CharField(max_length=64,default='120')
#______________ 分割線,另做其他使用___________________________
class Publish(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=32)
    email = models.EmailField()
    addr = models.CharField(max_length=64)

class Author(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=32)
    address = models.CharField(max_length=32)

class Book(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=32)
    # 21.38
    price = models.DecimalField(max_digits=5, decimal_places=2)
    # 一對多的關(guān)系確立,關(guān)聯(lián)字段寫在多的一方,orm自動(dòng)在publish后面加id,publish_id
    publish = models.ForeignKey(to='Publish', to_field='id')
    # 多對多關(guān)系,orm會(huì)自動(dòng)創(chuàng)建第三張表
    authors = models.ManyToManyField(to='Author')

1 python3 manage.py makemigrations----記錄一下數(shù)據(jù)庫的變化

2 python3 manage.py migrate----將變化同步到數(shù)據(jù)庫中

2、在總路由添加以后可能要添加的功能路由地址與對應(yīng)的視圖

from app01 import views
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^user_list/',views.user_list),
    url(r'^delete/',views.delete),
    url(r'^add/',views.add),
    url(r'^edit/',views.edit),
]

3、在視圖功能文件中填寫:views.py


from django.shortcuts import render,HttpResponse,redirect
from app01 import models
# Create your views here.
def user_list(request):
    if request.method=='GET':
        # 查詢user表中所有數(shù)據(jù).--相當(dāng)于sql select * from app01_user;
        # 返回結(jié)果是QuerySet對象(先當(dāng)成列表)
        # [user1,user2]
        # 單表查詢所有用戶
        ret=models.User.objects.all()
        # print(type(ret))
        # for i in ret:
        #     print(type(i))
        #     print(i.name)
        return render(request,'user_list.html',{'user_list':ret})
def delete(request):
# get請求攜帶參數(shù):http://127.0.0.1:8000/deleteuser/?id=1
    if request.method=='GET':
       # 后臺(tái)取值:request.GET.get('id')
        id=request.GET.get('id')
        # orm刪除記錄
        models.User.objects.filter(id=id).delete()
        return redirect('/user_list/')
def add(request):
    if request.method=='GET':
        return render(request, 'add.html')
    elif request.method=="POST":
            # 前臺(tái)post提交的數(shù)據(jù)取值:
        name=request.POST.get('name')
        pwd=request.POST.get('password')
        addr=request.POST.get('addr')
        phe=request.POST.get('phone_a')
      # 方式一
      # user=models.User(name=name,password=pwd,address=addr)
      # user.save()   #寫入數(shù)據(jù)庫
        # 方式二
        models.User.objects.create(name=name,password=pwd,address=addr,phone=phe)

        return redirect('/user_list/')

def edit(request):
    if request.method=='GET':
        id=request.GET.get('id')
        # orm查詢單條數(shù)據(jù)
        user=models.User.objects.filter(id=id).first()
        return render(request,'edit.html',{'user':user})
    if request.method=='POST':
        id=request.POST.get("id")
        name = request.POST.get('name')
        pwd = request.POST.get('password')
        addr = request.POST.get('addr')
        phe = request.POST.get('phone_a')
        # orm的修改
        models.User.objects.filter(id=id).update(name=name,password=pwd,address=addr,phone=phe)
        return redirect('/user_list/')

4、在templates目錄中創(chuàng)建以下html文件

add.html

edit.html

user_list.html

add.html




    
    新增用戶



    

用戶名: 

    

密碼: 

    

地址: 

    

電話:

    

edit.html




    
    Title



    

    

用戶名: 

    

密碼: 

    

地址: 

    

電話:

    

user_list.html




    
    Title





    id
    name
    password
    address
    phone
    delete
    add
    edit


    
        {% for user in user_list %}
            
                {{ user.id }}
                {{ user.name }}
                {{ user.password }}
                {{ user.address }}
                {{ user.phone }}
                刪除    
                編輯
                新增用戶
            
        {% endfor %}

    
    


總結(jié):

1 orm 創(chuàng)建表,新增字段,修改,刪除字段,不能創(chuàng)建數(shù)據(jù)庫
		-字段屬性phone=models.CharField(max_length=64,null=True)
		-null=True 代表該列可以為空
2 數(shù)據(jù)的增刪改查
		-增(1):User.objects.create(address='')
		-增(2):實(shí)例化產(chǎn)生一個(gè)user對象,user對象的save方法
		-刪:User.objects.filter(id=1,name='lqz').first().delete()
		-刪:User.objects.filter(id=1,name='lqz').delete()
		-改:User.objects.filter(id=1,name='lqz').update()
		-查:User.objects.all()
		    user=User.objects.filter(name='lqz')
			user.name
3 前后臺(tái)交互
-id=1&name='lqz'&
		
			

用戶名: 

密碼: 

地址: 

4 django生命周期		
	5 一對多,多對多
		-publish_id
		-publish=models.ForeignKey(to='Publish', to_field='id')
		book.publish_id
		book.publish
		多對多:(自動(dòng)創(chuàng)建第三張表)
		authors = models.ManyToManyField(to='Author')

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


標(biāo)題名稱:三、2:使用orm制作表圖的增、刪、改、查-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://weahome.cn/article/cdsojs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部