小编Jua*_*ion的帖子

从Django DateTimeField获取日期

我想就此事请求一些帮助

我正在学习django并尝试了一些代码,但是我试图从模型的DateTimeField获取日期时碰到了一堵砖墙

这是我正在处理的代码:

class APPLICANT_DATA(models.Model):
    SCHEDULED_AT = models.DateTimeField(null=True, blank=True)


def somefunction():
    app_data = APPLICANT_DATA.objects.all()
    for item in app_data:
        the_date = str(item.SCHEDULED_AT.strftime("%B-%d-%Y")) + ", " + the _date
Run Code Online (Sandbox Code Playgroud)

'NoneType' object has no attribute 'strftime'即将获得()即使我的模型包含3条记录,所有记录都有日期和时间

我究竟做错了什么?对新手的任何建议?非常感谢.

python django

14
推荐指数
1
解决办法
3万
查看次数

django admin,使用自定义视图扩展admin

我想就此事寻求帮助。

我已按照指南向管理员添加视图。

我正在使用与网站相同的代码,但出现错误:

Reverse for 'app_list' with arguments '()' and keyword arguments '{'app_label': 'reports'}' not found.

admin/my_view工作正常,但如果我尝试,如索引页面访问管理员其他网页,我得到的错误

这是代码:

#someapp/admin.py

from django.conf.urls import patterns
from django.contrib import admin
from django.http import HttpResponse

def my_view(request):
    return HttpResponse("Hello!")

def get_admin_urls(urls):
    def get_urls():
        my_urls = patterns('',
            (r'^my_view/$', admin.site.admin_view(my_view))
         )
        return my_urls + urls
    return get_urls

admin_urls = get_admin_urls(admin.site.get_urls())
admin.site.get_urls = admin_urls
Run Code Online (Sandbox Code Playgroud)

我正在使用Django 1.8.2,python 2.7

另外,在管理员的索引页面中添加某些视图或上下文的最佳方法是什么?

更新

我已经尝试了Antoine Pinsard的答案,并尝试了以下方法:

#admin.py
from django.contrib.admin import AdminSite
class MyAdminSite(AdminSite):

    def get_urls(self):
        from django.conf.urls import …
Run Code Online (Sandbox Code Playgroud)

python django

9
推荐指数
2
解决办法
1万
查看次数

Django将变量/ param传递给modelform formset

我一直在四处寻找,似乎无法找到问题的答案

基本上,如果要将参数/变量传递给表单,请执行以下操作:

class SomeForm(ModelForm):
    ...
    def __init__(self, *args, **kwargs):
        my_arg = kwargs.pop('my_arg')
        super(SomeForm, self).__init__(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

并在视图中传递这样的参数:

def someview(request):
    form = SomeForm(request.POST, my_arg=somevalue)
    if request.method == 'POST':
        ...
    else:
        form = SomeForm(my_arg=somevalue)

     return render(....)
Run Code Online (Sandbox Code Playgroud)

但是我正在使用inlineformset_factory,我收到一个错误:

__init__() got an unexpected keyword argument 'my_arg'

如果我试图像这样传递它:

myformset = inlineformset_factory(modelA, modelB, form=SomeForm, extra=1, can_delete=True)

def someview(request):
    form = myformset(request.POST, my_arg=somevalue)
    if request.method == 'POST':
        ...
    else:
        form = SomeForm(my_arg=somevalue)

     return render(....)
Run Code Online (Sandbox Code Playgroud)

我正在使用django-dynamic-formset动态生成我的表单(django 1.8)

我错过了什么或者我做错了吗?如果是这样,那么什么是合理的解决方案?

UPDATE

我试过了

class BaseFormSet(BaseInlineFormSet):

    def __init__(self, *args, …
Run Code Online (Sandbox Code Playgroud)

python django django-forms

5
推荐指数
0
解决办法
635
查看次数

Django模型的clean方法多个错误

我一直在玩我的测试项目

我的模型中有这个干净的方法

class SomeModel(models.Model):
    f1 = models.IntegerField()
    f2 = models.IntegerField()

    def clean(self):
        if self.f1 > self.f2:
            raise ValidationError({'f1': ['Should be greater than f1',]})
        if self.f2 == 100:
            raise ValidationError({'f2': ['That's too much',]})
Run Code Online (Sandbox Code Playgroud)

我真的不知道如何引发这两个错误并在管理页面中显示它,因为即使这两个ifTrue,也只显示第一个if错误(显然)我如何显示这两个错误?

python django

0
推荐指数
1
解决办法
1030
查看次数

Django:从视图中的表单中获取您刚刚收到的ID(尚未保存)

我知道这只是一段代码,但我找不到任何参考(初学者)我的问题是我如何获得id cde = form.save(commit=False)或如何在保存之前从表单中获取id?

python django django-forms django-views python-2.7

-1
推荐指数
1
解决办法
91
查看次数

标签 统计

django ×5

python ×5

django-forms ×2

django-views ×1

python-2.7 ×1