Django sqlite3的實際應用
db.html(模板)
<!DOCTYPE html><html lang="ja">
<head>
<title>{{context.title}}</title>
<link rel="icon" href="/static/pic/1.jpg" type="image/x-icon" />
<link rel="shortcut icon" href="/static/pic/1.jpg" type="image/x-icon" />
<script>
</script>
<style type="text/css">
<!--
.box{
float: left;
color:black;
font-size:12px;
text-align:leftwards;
}
-->
</style>
</head>
<body>
{% if context.person.1 < 18 %}
<h3 align="center">時間:{{context.time | date:"Y-m-d H:i:s" }}</h3>
{% else %}
<h3 align="center">時間:{{context.time | date:"Y-m-d H:i:s" }}</h3>
{% endif %}
<div>
{% if context.member_list %}
{% for li in context.member_list %}
<div style="float:left;width:22.5%;">
{% load static %}
<div class="box" >
<video muted width="400" height="270" controls preload="none">
<source src="/static/{{li.address}}" type="video/mp4">
</video>
</div>
<div class="box" >
<p>
名前:{{li.name}}
<br>
年目:{{li.age}}
<br>
メール:{{li.address}}
<br>
時間:{{li.inttime}}
<br>
地點:{{li.area}}
<br>
</p>
</div>
</div>
{% empty %}
<li>no!</li>
{% endfor %}
{% endif %}
</div>
{% load mydigit %}
<br>
<br>
<p align="right">數量:{{context.num | mydigit:4}} </p>
</body>
</html>
models.py
from __future__ import unicode_literals
from django.db import models
class Member(models.Model):
id = models.IntegerField(primary_key=True)
name = models.CharField( max_length=40) # Field name made lowercase.
age = models.IntegerField() # Field name made lowercase.
address = models.CharField(max_length=100) # Field name made lowercase.
inttime = models.DateTimeField()
area = models.CharField(max_length=40)
class Meta:
managed = False
db_table = 'member'
views.py#向數據庫member里進行增刪改查操作
def data(request):
template=loader.get_template("db.html")
pic_root="J:/flod/pic_image/FC-2/fc2/vedio/"
member_data=["相澤南","波多野ゆい","あやみ旬果","小沢まりあ","鈴村愛理","蒼い空","明日花キラ","蒼い空","七海奈々","葵司","天海翼","asuka","......"]
root = os.listdir(pic_root)
member_list=[]
#增添
#在數據庫表批量加入數據
#for i in range(len(member_data)):
#member_list.append( [member_data[i],random.randint(10,45),root[i],"2020-09-04","Japan"])
#db=Member(name=member_data[i],age=21,address=str(root[i]),inttime="2020-09-04",area="Japan")
#db.save()
#查找
#獲取數據庫表所有信息
member_list=Member.objects.all()
#信息排序
#member_list=Member.objects.all().order_by("age")#升序member_list=Member.objects.order_by("age")
#member_list=Member.objects.all().order_by("-age")#降序
#過濾
#member_list=Member.objects.filter(age = 16) #age=16
#member_list=Member.objects.filter(age__gt = 16)#age>16
#member_list=Member.objects.filter(age__gte 16)#age>=16
#member_list=Member.objects.filter(name__contains = "張")#篩選姓張的人
#修改
#member_data=Member.objects.get(id=1)
#member_data.age=25
#member_data.area="中國"
#member_data.save()
#刪除
#Member.objects.all().delete()
#Member.objects.filter(id=1)
context={"title":"日本語の世界に入ってくだい!","time":datetime.datetime.now(),"member_list":member_list,"num":len(member_list)}
request_context = RequestContext(request, context)
request_context.push(locals())
html=template.render(context=locals(), request=request)
return HttpResponse(html)
urls.py#訪問網址
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r"^data/$", views.data),
]
setting.py#數據庫配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'data.sqlite3'),
}
}
出現編碼問題
views.py加入
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
名前、年目、メール、時間、地點從數據庫獲取。
命令操作
cd /d root 切換目錄
manage.py makemigrations appname 記錄我們對appname/models.py的所有改動
manage.py makemigrations 記錄我們對所有models.py的所有改動
manage.py migrate 同步數據庫
manage.py inspectdb 檢測數據庫,自動生成 Django 模型
manage.py inspectdb > blog_/models.py 自動生成 Django 模型與本地對比,生成缺少的模型信息
遇到問題
models.py增加字段后,需要重新生成數據表時,刪除migrations目錄,以及數據庫里有關的數據表, 重新執行命令生成。(有時執行命令報錯,參照刪除即可。但有時刪除信息后,不會報錯,重新生成卻不包含定義的數據表。有時生成的包含數據表,原因不知。
方法:修改配置文件數據庫名稱,重新生成)
智能推薦
Django 2.1.7 基于默認sqlite3 模型設計 以及 數據操作
上一篇章講述了如何創建項目,本篇章主要講解Django的模型設計。 參考文獻 Django 官網 2.1 文檔 一般操作數據庫是通過寫sql語句,那么能不能不寫sql語句就可以操作數據庫呢? 可以,就是通過接下來要給大家講的ORM框架。 本篇章首先使用Django默認使用的sqlite3,后續再繼續講解使用mysql。 ORM框架 O是object,也就類對象的意思,R是relation,翻譯成中...
在Django 2.2中啟動開發服務器時處理SQLite3錯誤
報錯信息 當python3 manage.py runserver啟動django項目的時候,就會出現報錯信息如下: django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17). 查看系統的sqlte3的版本 果然Centos系統自帶的sqlite3版本偏低,在上面的錯誤...
Django2 SQLite3遷移到MySQL數據庫
Django2 SQLite3遷移到MySQL數據庫 本文轉自:https://blog.csdn.net/weixin_34257076/article/details/86843658 Windows開發環境下 首先在系統內安裝mysql,創建mysql連接配置文件,該文件可保存在本機任何地方,如果項目要上傳到github上或其他共享,mysql帳密不可能讓別人知道呀 項目的_in...
Django2 SQLite3遷移到MySQL數據庫
更多內容請點擊 我的博客 查看,歡迎來訪。 Django2 SQLite3遷移到MySQL數據庫 開發環境Windows+Django2.1+Python3.7,服務器環境Ubuntu16.04+Django2.1+Python3.6.6 Windows開發環境下 創建mysql連接配置文件 該文件可保存在本機任何地方,如果項目要上傳到github上或其他共享,mysql帳密不可能讓別人知道呀 P...
Django使用sqlite3數據庫(嘔心瀝血終于成功了)
首先,Django默認使用的就是sqlite3,而大多數人一上來就是使用MySQL,配置更加復雜,搞了一兩個小時也沒弄好(我太菜了,,,)對于小的網站項目,使用sqlite3足以。 首先,需要安裝sqlite3 如果使用的是VSCode,可以直接搜索sqlite插件安裝即可。 或者,到官方下載地址下載。SQLite3的下載地址:http://www.sqlite.org/download.html...
猜你喜歡
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...