标签: django-nonrel

Django - 如何使变量可用于所有模板?

我想知道如何将变量传递给我的所有模板,而不是在我的views.py文件中的每个方法上重复相同的代码?

在下面的示例中,我想为Web应用程序中的所有模板提供类别(类别对象数组).

Eg: I would like to avoid writing 'categories':categories on every method. Is it possible?
Run Code Online (Sandbox Code Playgroud)

一种观点方法

def front_page(request):
    categories = Category.objects.all()
    if is_logged_in(request) is False:
        return render_to_response('users/signup.html', {'is_logged_in': is_logged_in(request), 'categories':categories}, context_instance=RequestContext(request))
    else:
        return render_to_response('users/front_page.html', {'is_logged_in': is_logged_in(request), 'categories':categories},context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

另一种观点方法

def another_view_method(request):
    categories = Category.objects.all()
    return render_to_response('eg/front_page.html', {'is_logged_in': is_logged_in(request), 'categories':categories},context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

python django django-nonrel

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

Python-如何刷新日志?(django的)

我在Google App Engine上使用Django-nonrel,这迫使我使用logging.debug()而不是print().

"记录"模块由Django提供,但我很难使用它而不是print().

例如,如果我需要验证变量x中保存的内容,我会把
logging.debug('x is: %s' % x).但是如果程序很快崩溃(没有刷新流),那么它永远不会打印出来.

因此,对于调试,我需要在程序退出错误之前刷新debug(),这不会发生.

python django logging google-app-engine django-nonrel

24
推荐指数
4
解决办法
3万
查看次数

Django-nonrel + Django-registration问题:重置密码时意外的关键字参数'uidb36'

我正在使用Django-nonrel注册应用程序.事情似乎工作正常,除非我尝试重置密码.当点击发送给我的重置密码链接时,Django会产生错误信息:

password_reset_confirm() got an unexpected keyword argument 'uidb36'
Run Code Online (Sandbox Code Playgroud)

我的问题:有没有人看过它,知道什么是治愈方法?

编辑:

这个问题是由registration\auth_urls.py引起的 - 它们复制了django\contrib\auth\urls.py中的条目,在Django-nonrel中循环修补了该文件的版本.

任何想法为什么它在那里,我可以实际删除它或修复它否则?

django google-app-engine django-registration django-nonrel

21
推荐指数
3
解决办法
5453
查看次数

AppEngine中的单元测试任务队列

很长一段时间以来,我一直在AppEngine上使用任务队列来安排任务,就像我应该的那样.

但我一直想知道的是如何为此编写测试?到目前为止,我只是进行了测试,以确保在排队任务的API上不会发生错误,然后为执行任务的API编写更合适的测试.

然而,最近我开始感到有点不满意,我正在寻找一种方法来实际测试正确的任务已被添加到正确的队列.希望通过部署代码并希望获得最佳代码,可以做得更好.

我正在使用django-nonrel,如果这与答案有关.

回顾一下:如何编写单元测试以确认任务已排队?

google-app-engine unit-testing django-nonrel

17
推荐指数
2
解决办法
4098
查看次数

无法登录Django/admin界面

首先,我是新手.我正在运行带有Python 2.7的Ubuntu 11.04,所以我在不同的目录中安装了Python2.5,以便在Google App Engine上运行Django-Non-Rel.我做了留言簿教程,现在我正在尝试添加管理员权限但是当我输入正确的用户名时:密码Django认为它不正确.它在部署到GAE时甚至不起作用.如果你知道的话请捅我正确的方向.

我补充说:

AUTHENTICATION_BACKENDS = ( 
    'django.contrib.auth.backends.ModelBackend', 
)

INSTALLED_APPS = (
    ...
    'django.contrib.admin',
    ....
)
Run Code Online (Sandbox Code Playgroud)

编辑
我也补充说

url(r'^ admin /',include(admin.site.urls)),

到子项目目录中的urls.py.
EOEDIT

然后我创建了超级用户和同步数据库:

> python2.5 xxx-xxx-guestbook/manage.py createsuperuser python2.5
> xxx-xxx-guestbook/manage.py syncdb
Run Code Online (Sandbox Code Playgroud)

然后运行应用程序,无法登录.我创建了多个不同的超级用户,总是有相同的结果.

EDIT2

感谢大家尝试提供帮助,但不幸的是,所提供的解决方案都没有解决问题.我决定先自己学习Django,然后转换到GAE Django-nonrel,所以这个问题不再适用了.我还应该选择一个答案给某人一些积分吗?

python django google-app-engine django-nonrel

17
推荐指数
6
解决办法
3万
查看次数

Django makemessages忽略开关对我不起作用

我在本地化django-nonrel项目时遇到了问题,该项目已部署到GAE.因为GAE,我必须将所有内容放入我的项目文件夹中,所以它看起来像这样

project
  + django
  + dbindexer
  + registration
  + myapp
  ...
  + locale
  + templates
Run Code Online (Sandbox Code Playgroud)

我在templates目录和目录中有字符串本地化myapp.当我python manage.py makemessages -l en --ignore django\*从项目目录运行时,它会爬过项目的所有目录,包括django,所以我得到了一个非常大的po文件.我从模板中找到了我的字符串,以及来自django目录的所有字符串.

在--ignore(或者只是-i)之后,我尝试了pu django django/*,但没有改变.有任何想法吗?

django django-nonrel

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

如何使用django nonrel的静态文件

我正在尝试将Django nonrel项目用于谷歌应用引擎.我按照此处的描述设置了测试项目.我为我的静态文件添加了一个名为"static"的项目的新文件夹.对于app.yaml文件,我添加了行;

- url: /static   
static_dir: static
Run Code Online (Sandbox Code Playgroud)

我无法访问我的静态文件.我是否需要进行其他配置?

Thx提前.

django google-app-engine django-nonrel

10
推荐指数
2
解决办法
3704
查看次数

OperationFailure:数据库错误:未授权对database.system.namespaces进行查询

我是在heroku上的django mongodb初学者[addon:mongolab].

heroku run python manage.py syncdb
Run Code Online (Sandbox Code Playgroud)

运行python manage.py syncdb连接到终端... up,run.2332创建表...

OperationFailure: database error: not authorized for query on database.system.namespaces consider editing privileges on the basis of data mongo
Run Code Online (Sandbox Code Playgroud)

.

>use admin
>db.addUser({ user: "myadmin", pwd: "1234", roles: ["userAdminAnyDatabase"] })
Run Code Online (Sandbox Code Playgroud)

但得到:

Error: couldn't add user: not authorized on admin to execute command 
Run Code Online (Sandbox Code Playgroud)

提前致谢.

django heroku mongodb django-syncdb django-nonrel

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

ListField的Django-nonrel表单字段

我正在尝试使用django-nonrelappengine并尝试使用a djangotoolbox.fields.ListField来实现多对多关系.正如我在文档中读到的那样ListField,您可以使用某种方法为djamgo-nonrel制定解决方法,而不支持多对多关系.

这是我的模型的摘录:

class MyClass(models.Model):
    field = ListField(models.ForeignKey(AnotherClass))
Run Code Online (Sandbox Code Playgroud)

因此,如果我正确地做到这一点,我将创建一个外键列表到另一个类,以显示与另一个类的多个实例的关系

通过这种方法一切正常......没有例外.我可以在代码和视图中创建`MyClass'对象.但是当我尝试使用管理界面时,我收到以下错误

No form field implemented for <class 'djangotoolbox.fields.ListField'>
Run Code Online (Sandbox Code Playgroud)

所以我虽然会尝试以前没有做过的事情.创建我自己的字段.实际上我自己的形式是MyClass在管理界面中编辑实例.这是我做的:

class MyClassForm(ModelForm):
    field = fields.MultipleChoiceField(choices=AnotherClass.objects.all(), widget=FilteredSelectMultiple("verbose_name", is_stacked=False))
    class Meta:
        model = MyClass
Run Code Online (Sandbox Code Playgroud)

然后我将MyClassForm表单传递给管理界面

class MyClassAdmin(admin.ModelAdmin):
    form = MyClassForm

admin.site.register(MyClass, MyClassAdmin)
Run Code Online (Sandbox Code Playgroud)

我虽然这会起作用,但事实并非如此.当我进入管理界面时,我得到了与以前相同的错误.谁能告诉我在做什么错在这里...或者,如果您有任何其他建议或使用的成功案例ListField,SetField等从djangotoolbox.fields在管理界面,将是非常赞赏.

google-app-engine django-admin listfield django-nonrel

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

Django-nonrel导入缓存失败

我正在尝试在GAE(Google App Engine)上设置django-nonrel - 按照此处的步骤进行操作http://www.allbuttonspressed.com/projects/djangoappengine#installation

测试应用程序很棒 -

我能够在应用程序中使用缓存API,但对于测试和shell却不是这样:

试图from django.core.cache import cache在shell中给我:

>>> from django.core.cache import cache
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "django-testapp/django/core/cache/__init__.py", line 182, in <module>
    cache = get_cache(DEFAULT_CACHE_ALIAS)
  File "django-testapp/django/core/cache/__init__.py", line 180, in get_cache
    return backend_cls(location, params)
  File "django-testapp/django/core/cache/backends/memcached.py", line 154, in __init__
    import memcache
ImportError: No module named memcache
Run Code Online (Sandbox Code Playgroud)

同样,尝试也 ./manage.py test以同样的方式失败

任何想法,为什么./manage runserver工作正常,但./manage shell还是./manage test无法导入缓存?

django-nonrel

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