小编jpi*_*pic的帖子

Django记录自定义管理命令

我有一个main在我的Django项目中命名的应用程序.这个应用程序有几个我想记录的管理命令,但是在stdout中没有显示任何内容,具有以下配置:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'handlers': {
        'log_to_stdout': {
            'level': 'DEBUG',
            'class': 'logging.StreamHandler',
            'stream': sys.stdout,
            },
        },
    'loggers': {
        'main': {
            'handlers': ['log_to_stdout'],
            'level': 'DEBUG',
            'propagate': True,
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我也尝试过使用my_project.main,但这也没用.我正在使用1.3.0决赛.

python django logging

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

unicode_literals和type()

我在type()调用时支持python2和python3时遇到问题.这证明了这个问题:

from __future__ import unicode_literals

name='FooClass'
type(name, (dict,), {})
Run Code Online (Sandbox Code Playgroud)

python3没问题,但在python2上:

Traceback (most recent call last):
  File "test.py", line 6, in <module>
    type(name, (dict,), {})
TypeError: type() argument 1 must be string, not unicode
Run Code Online (Sandbox Code Playgroud)

这与在Python 2.6中使用unicode_literals的Any gotchas有关吗?.在那个问题中,有人建议对一个字节串进行类型转换,所以天真地考虑使用six.b():

一个"假的"字节文字.数据应始终是正常的字符串文字.在Python 2中,b()返回一个8位字符串.在Python 3中,数据使用latin-1编码编码为字节.

所以它看起来像这样:

from __future__ import unicode_literals
import six

name='FooClass'
type(six.b(name), (dict,), {})
Run Code Online (Sandbox Code Playgroud)

但它在python2和python3上都失败了:

$ python2 test.py 
Traceback (most recent call last):
  File "test.py", line 6, in <module>
    type(six.b(name), (dict,), {})
TypeError: type() argument 1 …
Run Code Online (Sandbox Code Playgroud)

python python-2.x python-3.x six-python

12
推荐指数
1
解决办法
3561
查看次数

当有人评论他们的帖子时,如何使用django-notification通知用户

我已经在django开发了一段时间了,并开发了一个整洁的网站,其功能包括写博客,发布问题,共享内容等.但是仍有一件事情遗失,即为用户创建通知.

我想要做的是在用户的个人资料中告知用户,无论何时有人评论他们的帖子,或者他们是否关注某个帖子并且有更新,然后通知用户该更新.我查看了很多应用程序,但我仍然对如何做到这一点感到很困惑.

在使用的情况下,django-notification我似乎有一个印象(这可能是错误的),我只能通过电子邮件通知用户,即我无法在用户个人资料中显示这些通知,就像我们在Facebook上.

首先我想知道我是不是错了,然后我真的需要一些适当的教程或指导如何去做.我知道如何注册通知并将其发送到正确的信号,但是没有关于如何在模板中显示这些通知的文档,如果可以的话.

任何指导/教程/入门文档将深表感谢.

python django django-signals django-apps django-notification

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

使用Django的新i18n_patterns:如何回退到设置模块中指定的默认语言?

我正在使用i18n_patternsDjango 1.4 的新功能:

from django.conf.urls import patterns, include, url
from django.conf.urls.i18n import i18n_patterns

from django.contrib import admin
admin.autodiscover()

urlpatterns += i18n_patterns('',
    url(r'^admin/', include(admin.site.urls)),
)
Run Code Online (Sandbox Code Playgroud)

它适用于所有活动语言:

/en/admin/ # Ok
/es/admin/ # Ok
Run Code Online (Sandbox Code Playgroud)

但这失败了:

/admin/ # 404 Not found
Run Code Online (Sandbox Code Playgroud)

如何避免404错误并重定向到所请求URL的语言前缀版本(不仅仅是管理面板)?

是编写自定义中间件的解决方案吗?为什么在Django中默认不会出现这种情况?

python django url-routing internationalization urlconf

10
推荐指数
1
解决办法
6700
查看次数

如何在django中将错误消息附加到form.non_field_errors?

我有一个有几个领域的表格.我通过表单验证对每个字段进行单独的验证检查.但是,在将用户重定向到不同视图之前,我还需要检查是否填写了少量字段.我希望我能以某种方式将错误附加到forms.non_field_errors,因为它不适用于特定字段,但我不确定这是什么正确的语法.我在网上查了一下,发现..

form.errors['__all__'] = form.error_class(["error msg"])
Run Code Online (Sandbox Code Playgroud)

这会显示错误消息,但它似乎也会弄乱其他页面,如果我点击其他任何内容,则会显示错误消息.

我试过了

form._errors[NON_FIELD_ERRORS] = form.error_class()
Run Code Online (Sandbox Code Playgroud)

这导致'NoneType'对象没有属性'setdefault'错误.

我试过了

form.non_field_errors().append("Please complete your profile in order to access the content.")
Run Code Online (Sandbox Code Playgroud)

这似乎没有做任何事情,我无法在视图上看到错误消息.

最好的方法是什么?理想情况下,我不想在表单的干净方法中这样做.我觉得我应该能够在视图中向表单添加错误.

python django django-forms

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

Django模型错误 - "TypeError:'xxx'是此函数的无效关键字参数

我收到错误:

TypeError: 'person' is an invalid keyword argument for this function
Run Code Online (Sandbox Code Playgroud)

我的模型是:

class Investment(models.Model):
company = models.ManyToManyField("Company", related_name ="Investments_company")
financial_org = models.ManyToManyField("Financial_org", related_name ="Investments_financial_org")
person = models.ManyToManyField("Person", related_name ="Investments_person")
Run Code Online (Sandbox Code Playgroud)

我的测试(给出错误):

investment1 = Investment(company = [], financial_org = financial1, person = [])
Run Code Online (Sandbox Code Playgroud)

python django django-models

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

如何在Django中进行用户的DetailView?

我目前有一个DetailView用于Django的内置功能User.

url(
    r'^users/(?P<pk>\d+)/$',
    DetailView.as_view(
        model = User,
        template_name = 'doors/users/detail.html'
    ),
    name = 'users_detail'
)
Run Code Online (Sandbox Code Playgroud)

但是当我user在模板中访问时,它会显示当前登录的用户,而不是具有pk我传递的用户DetailUser.我是否需要告诉DetailUseruser变量重命名为其他内容?如果是这样,我该怎么做?

python django django-templates django-urls

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

在Django中格式化日期时如何使用本地化的"短格式"?

我需要显示本地化的格式化日期.如果我使用django.utils.formats.localize,则日期将返回为"2012年6月11日".我如何格式化日期以返回"06/11/2012",并进行适当的本地化(例如,"英国11/06/2012")?

我需要类似于Java的DateFormat.SHORT的东西.有什么类似的东西吗?

python django date-format

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

将unicode字符串从django传递给javascript

我的数据中有一堆unicode字符串,我需要从django视图传递给模板,以便在JavaScript scriptlet中使用,并将其传递给Web来回.

问题是我希望字符串以JavaScript unicode形式表示,但我从python 获得带有u前缀的字符串.

例如,对于字符串mężczyźni,Python将其存储为u'm\u0119\u017cczy\u017ani',但是当它传递给模板时,它不会删除在处理它时为JavaScript创建问题的u前缀.我希望它只是'm\u0119\u017cczy\u017ani',以便模板中的JavaScript代码可以使用它.

我尝试使用urqluote,smart_unicode,force_unicode,但无法解决问题,甚至无法解决问题.

我该怎么办 ?

javascript python django unicode

8
推荐指数
1
解决办法
5177
查看次数

django数据库删除特定的条目数

如何从数据库中删除特定数量的条目?我做了这样的事

EntriesToDelete=Statusmessages.objects.filter(time__lt=date)[:30000]
EntriesToDelete.delete()
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误,上面写着: AssertionError. Cannot use 'limit' or 'offset' with delete.

如何指定要删除的条目数.

python django django-database

8
推荐指数
1
解决办法
3053
查看次数