我目前正在运行一些Django测试,它DEBUG=False默认看起来.有没有办法运行特定的测试,我可以DEBUG=True在命令行或代码中设置?
是否有人在PyCharm Community Edition中为Django项目设置调试配置时遇到问题?IDE的Community Edition缺少项目设置中的项目类型选项,然后当我设置Debug或Run config时,它会要求我运行它应该运行的脚本.Django是什么脚本,manage.py?提前致谢
我正在尝试研究如何运行pycharm似乎提供的调试内容(好吧,它允许我设置断点,无论如何,所以我假设它有一个很好的gui)
我已经得出结论,我不能使用ctrl-shift-r然后使用"runserver"命令,而是我需要设置"运行配置"?我做了一个"django服务器"之一,但我不知道要放什么值等.当我运行它时,它告诉我一些设置是错误的 - 我很确定它不是,因为标准的"runserver" "命令工作正常.
这就是我总结的一切.如果有一个漂亮的教程或步骤来得到它,我可以
我很激动!
干杯!
更新:万一你想知道,这是我得到的错误:
Traceback(最近一次调用最后一次):
在导入设置中输入第11行的"manage.py"
在add_to_builtins('gravatar.templatetags.gravatar')中输入文件"C:\ development\PycharmProjects\dumpstown\settings.py",第185行
文件"C:\ development\python\lib\site-packages\django\template\base.py",第1017行,在add_to_builtins中
builtins.append(import_library(模块))
import_library中的文件"C:\ development\python\lib\site-packages\django\template\base.py",第963行
引发InvalidTemplateLibrary("ImportError引发加载%s:%s"%(taglib_module,e))
django.template.base.InvalidTemplateLibrary:ImportError raise loading gravatar.templatetags.gravatar:无法导入设置,因为环境变量DJANGO_SETTINGS_MODULE未定义.
应用程序本身在"runserver"上从未出现过任何问题.
更新:根据我的回答,对于add_to_builtins,pycharm被破坏了.
我的问题是关于设置使用 django-debug。安装工具栏和面板并在我的应用程序中启用这些后,我收到上述错误。我已经看到很多关于这个问题或密切相关问题的建议,但我尝试过的一切都没有帮助。
在 /usr/lib/python3.6/site-packages/debug_toolbar/templates/debug_toolbar/base.html 的模板渲染期间的具体错误来自:
16 data-render-panel-url="{% url 'djdt:render_panel' %}"
Run Code Online (Sandbox Code Playgroud)
我的相关 settings.py 条目:
DEBUG = True
INSTALLED_APPS = [
'debug_toolbar',
'debug_panel',
...
]
MIDDLEWARE = [
'debug_toolbar.middleware.DebugToolbarMiddleware',
'debug_panel.middleware.DebugPanelMiddleware',
...
]
INTERNAL_IPS = ['127.0.0.1',]
Run Code Online (Sandbox Code Playgroud)
附加到我的 urls.py:
if settings.DEBUG:
try:
import debug_toolbar
urlpatterns += [url(r'^__debug__/', include(debug_toolbar.urls))]
except ImportError:
pass
Run Code Online (Sandbox Code Playgroud)
我试过的:
感谢您提供任何进一步的建议。
我使用DRF扩展来获取模型的se json列表,并且我可以使用debug-toolbar该GET请求进行调试,但是我如何调试POST和PUT请求?
我有这个用于调试模式的设置:
INSTALLED_APPS += ('debug_toolbar',)
MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware',)
DEBUG_TOOLBAR_PATCH_SETTINGS = False
INTERNAL_IPS = (
'127.0.0.1'
)
Run Code Online (Sandbox Code Playgroud)
现在,当我Intercept redirects在调试工具栏中尝试时,它不会显示我的工具栏POST.
有没有办法找出django app制作了多少SQL查询.当我尝试加载页面时?我在页面之间浏览时喜欢做的是将以下内容记录在文本文件中......或者在stdout中查看.
有这样的工具/脚本吗?
干杯
我一直在努力学习更多关于Django的模板引擎,因为它对我来说似乎总是有点像黑盒子.文档概述了所涉及的一般步骤,并指出模板已加载和解析,创建了一个节点树,这些节点使用上下文进行渲染(以级联形式?)并附加在一起以给出结果.
我不明白的是解析的方法,以及创建节点的标准是什么?解析后构成特定节点的内容,以及这如何影响自定义模板标记的创建(即,是否有更好,更有效的方法来编写模板标记,从而导致节点数量减少?).
我(2, 2, 4, 'final', 0)在 docker 中使用 Django,但我可以在内部 bash 来打开或执行所需的任何内容。但我无法调试。(如何在 Django 中调试,好方法?说明了一些方法,但对我不起作用)
在我的内部views.py有各种功能,例如这里的这个。
def visGraph(request):
showgraph = 'Graphen'
selectDB = request.GET.get('selectDB', '')
__import__("pdb").set_trace()
title += " <i>"+showgraph+"</i> ("+selectDB+")"
Run Code Online (Sandbox Code Playgroud)
它工作正常,直到我填写 pdb,添加调试器会使我的应用程序立即崩溃:
> /code/DjangoGraphen/views.py(74)visGraph()
-> title += " <i>"+showgraph+"</i> ("+selectDB+")"
(Pdb)
Internal Server Error: /DjangoGraphen/visGraph
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response …Run Code Online (Sandbox Code Playgroud) 我有一个Django单元测试,我想在其中放置print语句用于调试目的,但显然django正在抑制它们.我怎样才能打印变量的值?我可能能够破解断言等,但想知道人们如何做到这一点.
每次运行调试器时,都会发生很多事情,但不是我所期望的。
我正在运行一个项目docker-compose up
检查本地主机后端是否正常。它下来了。有趣的是,容器正在运行,因为我使用 vscode 的远程容器连接到它。
库debugpy已安装。
运行调试器的第一种方法以调试控制台中的此类信息结束:
Attached!
System check identified some issues:
WARNINGS:
workflow.State.additional_values: (fields.W904) django.contrib.postgres.fields.JSONField is deprecated. Support for it (except in historical migrations) will be removed in Django 4.0.
HINT: Use django.db.models.JSONField instead.
Operations to perform:
Apply all migrations: accounts, auth, contenttypes, files, mambu, otp_totp, sessions, token_blacklist, workflow, zoho
Running migrations:
No migrations to apply.
Run Code Online (Sandbox Code Playgroud)
它已经下降了。后台也挂了。
第二次尝试:
Attached!
System check identified some issues:
WARNINGS:
workflow.State.additional_values: (fields.W904) django.contrib.postgres.fields.JSONField is deprecated. Support for it (except …Run Code Online (Sandbox Code Playgroud) 我正在使用带有django-registration的SelectDateWidget来保存注册时的出生日期.我已经尝试排除生日,并创建了一个配置文件并使用额外数据保存.我不太清楚一切都出错了.
models.py
class Profile(models.Model):
...
dob = models.DateField(_('birthday'))
Run Code Online (Sandbox Code Playgroud)
forms.py
from django.forms.extras.widgets import SelectDateWidget
class ProfileRegistration(RegistrationFormTermsOfService):
...
dob = forms.DateField(widget=SelectDateWidget(years=range(1999,1939,-1)),
label=_("Birthday"),
)
Run Code Online (Sandbox Code Playgroud)
prifilebackend.py
from registration.forms import RegistrationForm
from registration.models import RegistrationProfile
...
class Backend(default.DefaultBackend):
...
p = Profile.objects.get(user=new_user)
p.dob=kwargs['dob']
p.save()
Run Code Online (Sandbox Code Playgroud)
我在注册用户时遇到的错误是:profile_profile.dob可能不是NULL
帖子数据正在生成dob_day,dob_month和dob_year.我试图清理数据但无济于事.任何帮助将不胜感激.
解决了:
profilebackend.py
signals.user_registered.send(sender=self.__class__,
user=new_user,
request=request)
u = User.objects.get(username=new_user.username)
u.first_name = kwargs['first_name']
u.last_name = kwargs['last_name']
gender = kwargs['gender']
dob = kwargs['dob']
p = Profile(user = new_user, gender = gender, dob = dob)
p.save()
u.save()
Run Code Online (Sandbox Code Playgroud) django ×11
python ×4
debugging ×2
pycharm ×2
django-2.2 ×1
docker ×1
ide ×1
python-3.7 ×1
unit-testing ×1