免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Django使用python
1、首先,必須安裝docxtpl,使用下面命令,其中會下載對應(yīng)的相關(guān)依賴包:
pip install docxtpl
2、安裝成功后,即可開始編碼:
(1)、首先呢,要先生成一個模板文件,這個模板文件必須為docx的,如果是doc的話,要先轉(zhuǎn)格式,不然會報以下錯誤:
docx.opc.exceptions.PackageNotFoundError: Package not found at 'E:\student_project\student\media/user/user_template/test模板.doc'
(2)、新建一個空的docx文檔,命名為test模板.docx,里面輸入一行內(nèi)容:{{ text }},放在student項(xiàng)目底下的media/user/user_template目錄底下,代碼如下:
from student.settings import MEDIA_ROOT
from django.shortcuts import render
from docxtpl import DocxTemplate
def post(self, request):
base_url = MEDIA_ROOT + '/user/user_template/'
asset_url = base_url + 'test模板.docx'
tpl = DocxTemplate(asset_url)
context = {'text': '哈哈哈,來啦'}
tpl.render(context)
tpl.save(base_url + 'test.docx')
return render(request, "user/user_info.html", content)
(3)、之后就會在模板相同的路徑底下生成一個test.docx文檔,打開即可看到我們代碼底下的數(shù)據(jù)填充進(jìn)模板了:
3、接下來,來試一下如何新建一個表格,把數(shù)據(jù)填充進(jìn)去
(1)、首先修改一下那個test模板.docx,修改后如下:
{{ text }}
序號
{%tc for col in user_labels %}
{{ col }}
{%tc endfor %}
{%tr for item in user_list %}
{{ item.number }}
{%tc for col in item.cols %}
{{ col}}
{%tc endfor %}
{%tr endfor %}
word文檔中是這樣的表格:
(2)、修改代碼如下:
from student.settings import MEDIA_ROOT
from django.shortcuts import render
from docxtpl import DocxTemplate
def post(self, request):
base_url = MEDIA_ROOT + '/user/user_template/'
asset_url = base_url + 'test模板.docx'
tpl = DocxTemplate(asset_url)
context = {'text': '哈哈哈,來啦'}
user_labels = ['姓名', '年齡', '性別', '入學(xué)日期']
context['user_labels'] = user_labels
user_dict1 = {'number': 1, 'cols': ['林小熊', '27', '男', '2019-03-28']}
user_dict2 = {'number': 2, 'cols': ['林小花', '27', '女', '2019-03-28']}
user_list = []
user_list.append(user_dict1)
user_list.append(user_dict2)
context['user_list'] = user_list
tpl.render(context)
tpl.save(base_url + 'test.docx')
return render(request, "user/user_info.html", content)
(3)、之后便可以成功將數(shù)據(jù)填充進(jìn)表格中,如下圖所示:
4、其中模板可以添加進(jìn)你所需要的內(nèi)容,之后可以把數(shù)據(jù)庫查詢出來的字段,或者表單提交錄入的字段填充進(jìn)模板中,大家可以試一下,其中,注意路徑如果出現(xiàn)錯誤,也會報之前類似的錯誤,比如我修改上面中的一行代碼:
base_url = '/user/user_template/'
就會報錯:docx.opc.exceptions.PackageNotFoundError: Package not found at 'user/user_template/test模板.docx'
5、以上內(nèi)容,僅供學(xué)習(xí)參考,謝謝!
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Django中使用python-docx-template實(shí)現(xiàn)文檔下載功能
Django 模板進(jìn)階
Python讀取本地HTML中的canvas以圖片形式存入Word文檔
Handlebars.js 模板引擎參考文檔
php smarty模板實(shí)例
前端教程:DjangoAjax應(yīng)用
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服