这是我第一次在这里提出问题。一些背景,我今年开始在 Django 和 Python 上编码一年多但不到 2 年,所以我没有太多。这个问题是我在工作中发展的一个问题。我的团队在编写 Python 或 Django 或两者兼有方面是新手或没有经验。
问题
我们有一个基于 Django 3.0.2 的 Web 应用程序,并为数据库使用 MSSQL。我们公司的政策是使用 Windows 服务器和 IIS 作为生产和测试服务器。我们在这方面做了很多工作,除了一些不起作用的 python 库和 Django 模块,主要是 Xlwings 和 Django-post-office 之外,所有的工作都很好。对于 XLwings,它不运行代码和 Excel(我们在服务器上有有效的许可证和最新的 Excel 程序)。
下面的代码;
filepath = BASE_DIR + '\\media\\Template.xlsm'
temp_path = BASE_DIR + '\\media\\' + '{}.{}'.format(uuid4().hex, 'xlsm')
shutil.copyfile(filepath, temp_path)
pythoncom.CoInitialize()
app1 = xw.App(visible=True)
wt = xw.Book(temp_path)
sht = wt.sheets['Cover']
sht.range('E5').value = request.POST.get('year')
sht.range('E6').value = request.POST.get('company')
sht.range('E7').value = companydata.employer_no
sht.range('E8').value = email
wt.save(temp_path)
app1.quit()
至于 Django-post-office,我们有一个使用它的模块让它工作,但使用它的其他模块不起作用。除了模板和主题外,使用的代码相同。
代码如下;
plaintext = get_template('template.txt')
htmly = get_template('template.html')
mail.send(
[email],
NAME_EMAIL_DOMAIN,
message = plaintext.render(info),
html_message = htmly.render(info),
subject = f'Subject',
priority = 'now',
attachments = {
'RemunerationTemplate.xlsm': temp_path,
},
)
奇怪的是它可以在 CMD 上运行,但它不能在 IIS 上运行。我们不知道为什么以及如何纠正它。我们询问 IT 支持(负责服务器的部门)说测试服务器不受限制。
失败修复
- 尝试更改 IIS 配置、环境等 - 没有骰子
- 更改代码 - 我们是菜鸟,不知道有什么问题,但显然不起作用
- 谷歌它 - 信息太稀少
- 询问 IT 支持人员是否有任何想法 - 他并不在意,只是对我说生气
所以,我很感激这方面的任何帮助,因为我们已经接近部署日期,而且这个问题已经在我过去一周的睡眠中困扰着我。谢谢你