Django调试/详细日志记录/其他技巧

时间:2014-08-06 12:23:25

标签: django debugging bitnami

我有一个非常简单的项目有问题。描述如下。我的问题是是否有可能自己解决这些问题(即没有深入了解Django内部)?不是通过在Internet上搜索,而是通过调试或检查详细日志。

我的具体问题是ImageField。我有

class Advert(models.Model):
    title = models.CharField(max_length=200)
    photo = models.ImageField(upload_to='adverts', null=True)

class AdvertEditForm(ModelForm):
    class Meta:
        model = Advert

def advert_edit(request, adv_id):
    if request.method == 'GET':
        adv = get_object_or_404(Advert, pk=adv_id)
        form = TestApp.forms.AdvertEditForm(instance=adv)
    else:
        adv = get_object_or_404(Advert, pk=adv_id)
        form = TestApp.forms.AdvertEditForm(request.POST, instance=adv)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('TestApp:advert_details', kwargs={'adv_id': adv_id}))

    return render(request, 'adverts/edit.html', {'adv_id': adv_id, 'form': form})

当我用这个表单打开页面时,选择了一个文件进行上传并按下提交,我得到了#34;这个字段是必需的"错误和带有空字段的相同表单(未选择上传文件)。日志中没有错误/没有未捕获的异常 - 没有。解决方案是将request.FILES参数添加到AdvertEditForm构造函数调用。

我使用Eclipse和PyDev,所以我有一个交互式调试器。但是有太多的代码,我无法找到值清除的地方或为什么不通过它。停止所有提出的例外也没有帮助,因为有太多例外

raise AttributeError(attr) in django/utils/six.py,

上的例外情况
memo[id(memo)].append(x) in python/Lib/copy.py

等等。

1 个答案:

答案 0 :(得分:0)

您可以使用各种形式的调试,shell,测试,也可以安装Django调试工具栏,它提供了大量有关项目的信息。