日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python 修改模板对象的属性_django小技巧之html模板中调用对象属性或对象的方法...

發(fā)布時間:2024/9/27 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 修改模板对象的属性_django小技巧之html模板中调用对象属性或对象的方法... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

環(huán)境:依賴最初test2數(shù)據(jù)庫

python3版本

多python版本環(huán)境

進入,python3虛擬環(huán)境,新建項目test4:

]# cd py3/django-test1/

]# django-admin startproject test4

創(chuàng)建應(yīng)用bookshop:

]# cd test4

]# python manage.py startapp bookshop

修改settings.py主配置文件:

]# vim test4/settings.py

...

#數(shù)據(jù)庫為mysql,使用原來的test2數(shù)據(jù)庫名稱:

databases = {

'default': {

'engine': 'django.db.backends.mysql',

'name': 'test2',

'user': 'root',

'password': 'root',

'host': '192.168.255.70',

'port': '3306',

}

}

#添加應(yīng)用:

installed_apps = (

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

'bookshop',

)

#添加模板查找路徑:

templates = [

{

'backend': 'django.template.backends.django.djangotemplates',

'dirs': [os.path.join(base_dir,'templates')],

...

]

...

在項目名稱目錄下,添加模板目錄并在其下添加應(yīng)用的模板目錄:

]# mkdir -p templates/bookshop

在主url路由配置文件中,添加查找應(yīng)用url的路由:

]# vim test4/settings.py

...

urlpatterns = [

url(r'^admin/', include(admin.site.urls)),

url(r'^',include('bookshop.urls',namespace='bookshop')),

]

在應(yīng)用目錄下創(chuàng)建urls.py文件:

]# vim bookshop/urls.py

from django.conf.urls import url

from .? import views

urlpatterns = [

url(r'\^$',views.index,name='index'),

]

以上基本配置完成,下面演示在模板中調(diào)用對象的方法:

定義模型類:

為了不用遷移,定義模型類要和test2數(shù)據(jù)庫結(jié)構(gòu)一樣;

]# vim bookshop/models.py

from django.db import models

class bookinfo(models.model):

btitle = models.charfield(max_length=20)

bpub_date = models.datetimefield(db_column='pub_date') #定義字段名稱為pub_date,默認(rèn)字段名稱就是類屬性,即默認(rèn)字段名稱為bpub_date

bread = models.integerfield()

bcommet = models.integerfield()

isdelete = models.booleanfield()

#定義表名

class meta():

db_table = 'bookinfo'

#如果不寫上面2行,表名默認(rèn)為項目名稱.類名稱,即bookshop.bookinfo

class heroinfo(models.model):

hname = models.charfield(max_length=10)

hgender = models.booleanfield()

hcontent = models.charfield(max_length=1000)

isdelete = models.booleanfield()

book = models.foreignkey('bookinfo') #定義外鍵,此處引號是否可省略,bookinfo先定義就可省略引號,如果后定義則需要使用引號,使用引號絕對沒錯;在表中字段自動變?yōu)閎ook_id

def showname(self):

return self.hname

定義視圖:

]# vim bookshop/views.py

from django.shortcuts import render

from .models import *

#from models import * #在python2寫法

def index(request): #必須接收一個參數(shù)

hero = heroinfo.objects.get(pk=1) #查詢主鍵(pk)=1的條目

context = {'hero':hero} #必須為字典格式

return render(request,'bookshop/index.html',context)

定義index.html模板文件:

]# vim templates/bookshop/index.html

title

{{ hero.hname }}

{{hero.showname}}

啟動web服務(wù):

]# python manage.py runserver 192.168.255.70:8000

報錯:error loading mysqldb module: no module named 'mysqldb'

解決:由于在python3版本上使用pymysql庫,沒有mysqldb庫,則需要配置;

]# vim test4/__init__.py

import pymysql

pymysql.install_as_mysqldb()

再次啟動web服務(wù)成功;瀏覽器訪問:http://192.168.255.70:8000/

完成驗收在html模板文件中調(diào)用對象的屬性和對象的方法。

希望與廣大網(wǎng)友互動??

點此進行留言吧!

總結(jié)

以上是生活随笔為你收集整理的python 修改模板对象的属性_django小技巧之html模板中调用对象属性或对象的方法...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。