我将Django项目转换为exe文件并启动它。但是在浏览器中显示错误,说页面未找到。
C:.
| db.sqlite3
| list.txt
| manage.py
|
+---account
| | admin.py
| | apps.py
| | models.py
| | tests.py
| | urls.py
| | views.py
| | __init__.py
| |
| +---migrations
| | | __init__.py
| | |
| | \---__pycache__
| | __init__.cpython-310.pyc
| |
| +---templates
| | \---account
| | customers.html
| | dashboard.html
| | main.html
| | navbar.html
| | products.html
| | status.html
| |
| \---__pycache__
| admin.cpython-310.pyc
| apps.cpython-310.pyc
| models.cpython-310.pyc
| urls.cpython-310.pyc
| views.cpython-310.pyc
| __init__.cpython-310.pyc
|
+---crm
| | asgi.py
| | settings.py
| | urls.py
| | wsgi.py
| | __init__.py
| |
| \---__pycache__
| settings.cpython-310.pyc
| urls.cpython-310.pyc
| wsgi.cpython-310.pyc
| __init__.cpython-310.pyc
|
\---static
+---css
| main.css
|
+---images
\---js
打包项目的命令:pyinstaller --name=crm manage.py
和启动exe文件的命令:crm.exe runserver localhost:8000 --noreload
。exe文件在dist文件夹中。
当我尝试使用www.example.com打开浏览器时127.0.0.1/8000,错误显示:
TemplateDoesNotExist at /
account/dashboard.html
Request Method: GET
Request URL: http://127.0.0.1:8000/
Django Version: 4.1
Exception Type: TemplateDoesNotExist
Exception Value:
account/dashboard.html
Exception Location: django\template\loader.py, line 19, in get_template
Raised during: account.views.home
子文件夹似乎没有嵌入到exe中。谁能给予我一个解决这个问题的提示吗?
1条答案
按热度按时间jk9hmnmh1#
在this question之后,我通过使用以下命令将模板直接添加到安装程序来克服这个问题:
在我的.spec文件中,“xxx”是应用程序的名称。
看起来pyinstaller应该会自动拾取这些,我只是在解决这个问题,掩盖潜在的原因,所以如果有人有更好的答案,我也很乐意听到。