Django报RuntimeError at /...错误

本文详细解析了Django中因URL配置不当导致的RuntimeError,特别是与APPEND_SLASH设置相关的问题。阐述了如何检查URL列表与HTML文件中的action属性一致性,确保所有URL结尾符号统一,以避免Django自动添加斜杠导致的POST数据丢失问题。

Django报如下错误:

RuntimeError at /login

You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to 127.0.0.1:8000/login/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings.

You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard page generated by the handler for this status code.

 

解决:

检查URL的列表里,和html文件里的action是否一致:后面有/就必须都有,否则要么就都没有。

原因:Django有个特殊的功能,会自己在url后面加上/(没有的时候)。

⨯ Get "https://npm.taobao.org/mirrors/electron/v36.4.0/electron-v36.4.0-win32-x64.zip": tls: failed to verify certificate: x509: certificate is valid for *.tbcdn.cn, *.1688.com, *.3c.tmall.com, *.alibaba.com, *.alicdn.com, *.aliexpress.com, *.alikunlun.com, *.aliqin.tmall.com, *.alitrip.com, *.aliyun.com, *.cainiao.com, *.cainiao.com.cn, *.chi.taobao.com, *.chi.tmall.com, *.china.taobao.com, *.cloudvideocdn.taobao.com, *.cmos.greencompute.org, *.dingtalk.com, *.django.t.taobao.com, *.etao.com, *.feizhu.cn, *.feizhu.com, *.fliggy.com, *.fliggy.hk, *.food.tmall.com, *.jia.taobao.com, *.jia.tmall.com, *.ju.taobao.com, *.juhuasuan.com, *.lw.aliimg.com, *.m.1688.com, *.m.alibaba.com, *.m.alitrip.com, *.m.cainiao.com, *.m.etao.com, *.m.taobao.com, *.m.taopiaopiao.com, *.m.tmall.com, *.m.tmall.hk, *.mei.com, *.mobgslb.tbcache.com, *.taobao.com, *.taopiaopiao.com, *.tbcache.com, *.tmall.com, *.tmall.hk, *.trip.taobao.com, *.xiami.com, 1688.com, alibaba.com, alicdn.com, aliexpress.com, alikunlun.com, alitrip.com, aliyun.com, cainiao.com, cainiao.com.cn, cloudvideocdn.taobao.com, cmos.greencompute.org, dingtalk.com, etao.com, feizhu.cn, feizhu.com, fliggy.com, fliggy.hk, juhuasuan.com, m.intl.taobao.com, mei.com, taobao.com, taopiaopiao.com, tmall.com, tmall.hk, xiami.com, tbcdn.cn, not npm.taobao.org github.com/develar/app-builder/pkg/download.(*Downloader).follow.func1 /Users/runner/work/app-builder/app-builder/pkg/download/downloader.go:206 github.com/develar/app-builder/pkg/download.(*Downloader).follow /Users/runner/work/app-builder/app-builder/pkg/download/downloader.go:234 github.com/develar/app-builder/pkg/download.(*Downloader).DownloadNoRetry /Users/runner/work/app-builder/app-builder/pkg/download/downloader.go:128 github.com/develar/app-builder/pkg/download.(*Downloader).Download /Users/runner/work/app-builder/app-builder/pkg/download/downloader.go:112 github.com/develar/app-builder/pkg/electron.(*ElectronDownloader).doDownload /Users/runner/work/app-builder/app-builder/pkg/electron/electronDownloader.go:203 github.com/develar/app-builder/pkg/electron.(*ElectronDownloader).Download /Users/runner/work/app-builder/app-builder/pkg/electron/electronDownloader.go:188 github.com/develar/app-builder/pkg/electron.downloadElectron.func1.1 /Users/runner/work/app-builder/app-builder/pkg/electron/electronDownloader.go:73 github.com/develar/app-builder/pkg/util.MapAsyncConcurrency.func2 /Users/runner/work/app-builder/app-builder/pkg/util/async.go:68 runtime.goexit /Users/runner/hostedtoolcache/go/1.21.13/arm64/src/runtime/asm_amd64.s:1650 ⨯ D:\admin-project\guangxi-quan-vue3\node_modules\app-builder-bin\win\x64\app-builder.exe process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE Exit code: 1 failedTask=build stackTrace=Error: D:\admin-project\guangxi-quan-vue3\node_modules\app-builder-bin\win\x64\app-builder.exe process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE Exit code: 1 at ChildProcess.<anonymous> (D:\admin-project\guangxi-quan-vue3\node_modules\builder-util\src\util.ts:259:14) at Object.onceWrapper (node:events:632:26) at ChildProcess.emit (node:events:517:28) at ChildProcess.cp.emit (D:\admin-project\guangxi-quan-vue3\node_modules\cross-spawn\lib\enoent.js:34:29) at maybeClose (node:internal/child_process:1098:16) at Process.ChildProcess._handle.onexit (node:internal/child_process:303:5)
06-07
================================================== 启动 manage.py 当前工作目录: D:\hyx_medical 文件所在目录: D:\hyx_medical ================================================== 添加路径到 sys.path: D:\hyx_medical 当前 sys.path: ['D:\\hyx_medical', 'D:\\hyx_medical', 'D:\\Miniconda3\\envs\\523\\python39.zip', 'D:\\Miniconda3\\envs\\523\\DLLs', 'D:\\Miniconda3\\envs\\523\\lib', 'D:\\Miniconda3\\envs\\523', 'D:\\Miniconda3\\envs\\523\\lib\\site-packages', 'D:\\Miniconda3\\envs\\523\\lib\\site-packages\\win32', 'D:\\Miniconda3\\envs\\523\\lib\\site-packages\\win32\\lib', 'D:\\Miniconda3\\envs\\523\\lib\\site-packages\\Pythonwin'] 管理命令执行错误: Apps aren't loaded yet. Traceback (most recent call last): File "D:\hyx_medical\manage.py", line 219, in <module> main() File "D:\hyx_medical\manage.py", line 33, in main from backend.models import ImageTask File "D:\hyx_medical\backend\models.py", line 2, in <module> from django.contrib.auth.models import User File "D:\Miniconda3\envs\523\lib\site-packages\django\contrib\auth\models.py", line 3, in <module> from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager File "D:\Miniconda3\envs\523\lib\site-packages\django\contrib\auth\base_user.py", line 57, in <module> class AbstractBaseUser(models.Model): File "D:\Miniconda3\envs\523\lib\site-packages\django\db\models\base.py", line 129, in __new__ app_config = apps.get_containing_app_config(module) File "D:\Miniconda3\envs\523\lib\site-packages\django\apps\registry.py", line 260, in get_containing_app_config self.check_apps_ready() File "D:\Miniconda3\envs\523\lib\site-packages\django\apps\registry.py", line 138, in check_apps_ready raise AppRegistryNotReady("Apps aren't loaded yet.") django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet. PS D:\hyx_medical> python manage.py runserver Watching for file changes with StatReloader Exception in thread django-main-thread: Traceback (most recent call last): File "D:\Miniconda3\envs\523\lib\threading.py", line 980, in _bootstrap_inner self.run() File "D:\Miniconda3\envs\523\lib\threading.py", line 917, in run self._target(*self._args, **self._kwargs) File "D:\Miniconda3\envs\523\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper fn(*args, **kwargs) File "D:\Miniconda3\envs\523\lib\site-packages\django\core\management\commands\runserver.py", line 125, in inner_run autoreload.raise_last_exception() File "D:\Miniconda3\envs\523\lib\site-packages\django\utils\autoreload.py", line 86, in raise_last_exception raise _exception[1] File "D:\Miniconda3\envs\523\lib\site-packages\django\core\management\__init__.py", line 394, in execute autoreload.check_errors(django.setup)() File "D:\Miniconda3\envs\523\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper fn(*args, **kwargs) File "D:\Miniconda3\envs\523\lib\site-packages\django\__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "D:\Miniconda3\envs\523\lib\site-packages\django\apps\registry.py", line 116, in populate app_config.import_models() File "D:\Miniconda3\envs\523\lib\site-packages\django\apps\config.py", line 269, in import_models self.models_module = import_module(models_module_name) File "D:\Miniconda3\envs\523\lib\importlib\__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "D:\hyx_medical\backend\models.py", line 2, in <module> from django.contrib.auth.models import User File "D:\Miniconda3\envs\523\lib\site-packages\django\contrib\auth\models.py", line 5, in <module> from django.contrib.contenttypes.models import ContentType File "D:\Miniconda3\envs\523\lib\site-packages\django\contrib\contenttypes\models.py", line 139, in <module> class ContentType(models.Model): File "D:\Miniconda3\envs\523\lib\site-packages\django\db\models\base.py", line 134, in __new__ raise RuntimeError( RuntimeError: Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
06-17
(django) [root@iZ7vhr6bkd1v9kZ django]# python manage.py runserver Watching for file changes with StatReloader Exception in thread django-main-thread: Traceback (most recent call last): File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/db/backends/mysql/base.py", line 15, in <module> import MySQLdb as Database File "/root/.virtualenvs/django/lib/python3.8/site-packages/MySQLdb/__init__.py", line 17, in <module> from . import _mysql ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner self.run() File "/usr/local/lib/python3.8/threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/utils/autoreload.py", line 64, in wrapper fn(*args, **kwargs) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/core/management/commands/runserver.py", line 125, in inner_run autoreload.raise_last_exception() File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/utils/autoreload.py", line 87, in raise_last_exception raise _exception[1] File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/core/management/__init__.py", line 394, in execute autoreload.check_errors(django.setup)() File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/utils/autoreload.py", line 64, in wrapper fn(*args, **kwargs) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/__init__.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/apps/registry.py", line 116, in populate app_config.import_models() File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/apps/config.py", line 269, in import_models self.models_module = import_module(models_module_name) File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/db/models/base.py", line 371, in add_to_class value.contribute_to_class(cls, name) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/db/models/options.py", line 243, in contribute_to_class self.db_table, connection.ops.max_name_length() File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/utils/connection.py", line 15, in __getattr__ return getattr(self._connections[self._alias], item) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/utils/connection.py", line 62, in __getitem__ conn = self.create_connection(alias) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/db/utils.py", line 193, in create_connection backend = load_backend(db["ENGINE"]) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/db/utils.py", line 113, in load_backend return import_module("%s.base" % backend_name) File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "/root/.virtualenvs/django/lib/python3.8/site-packages/django/db/backends/mysql/base.py", line 17, in <module> raise ImproperlyConfigured( django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?
03-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值