小编tom*_*mis的帖子

在Turbogears 2.2.2中注销失败

我有使用默认身份验证在TG 2.2.2中编写的应用程序.最后几天,我有登录和退出的问题.在safari中,创建了两个authtkt cookie,一个是"beta.domain.com",另一个是".beta.domain.com".在调用/ logout_handler之后,域"beta.domain.com"的cookie仅被删除,但野生域仍然存在.因此,在重新加载页面后,用户仍然登录.本地主机以及生产时出现问题.

有趣的是,相同的lib版本上的其他应用程序正常工作,以及其他浏览器,没有使用virtualenv.

我真的不知道问题在哪里,所以我会在请求时包含任何配置文件.在开始时,包含app_config.

app_cfg.py

# -*- coding: utf-8 -*-
from tg.configuration import AppConfig

import cafeteria
from cafeteria import model
from cafeteria.lib import app_globals, helpers

base_config = AppConfig()
base_config.renderers = []
base_config.prefer_toscawidgets2 = True

base_config.package = cafeteria

base_config.renderers.append('json')

base_config.renderers.append('mako')
base_config.default_renderer = 'mako'

base_config.use_sqlalchemy = True
base_config.model = cafeteria.model
base_config.DBSession = cafeteria.model.DBSession
# Configure the authentication backend

# YOU MUST CHANGE THIS VALUE IN PRODUCTION TO SECURE YOUR APP
base_config.sa_auth.cookie_secret = "SOMESECRET"

base_config.auth_backend = 'sqlalchemy'

from tg.configuration.auth import TGAuthMetadata …
Run Code Online (Sandbox Code Playgroud)

python pylons turbogears2

18
推荐指数
1
解决办法
289
查看次数

Django - 管理模型中的多重复数

我用谷歌搜索了很长时间但没有结果.我是Django的初学者,所以我不知道它有什么功能.但是这个问题对客户来说非常重要:-(你能帮帮我吗?

所以,我定义了这个模型:

from django.utils.translation import ugettext_lazy as _

class Product(Model):
    #translation for model and set db table name
    class Meta:
        verbose_name = _('product')
        verbose_name_plural = _('products')
        ...
Run Code Online (Sandbox Code Playgroud)

现在,由于捷克语,我需要在管理员列表中写这些:

  • 0výrobků
  • 1výrobek
  • 2-4výrobky
  • 5-výrobků

在其他地方,我使用ungettext成功.但是,我不知道,如何计算Meta.我发现这是抽象的(但似乎没用):

class Model(DjangoModel):

    class Meta:
        abstract = True

    def get_description(self):
        return ungettext(self.verbose_name, self.verbose_name_plural, self.count) % \
                   {'count':self.count, 'name':self.name}
Run Code Online (Sandbox Code Playgroud)

来自django国际化的来源:在为多元化标记字符串时,计数器不可用

也许,最后可以很好地显示语言定义(尝试添加/删除%s msgid):

msgid "%s product"
msgid_plural "%s products"
msgstr[0] "%s 1 výrobek"
msgstr[1] "%s 2 výrobky"
msgstr[2] "%s 5 výrobk?"
Run Code Online (Sandbox Code Playgroud)

如果您需要更多问题信息,我一定会提供.

非常感谢你提前.

更新 …

python django python-2.7 django-1.5

11
推荐指数
2
解决办法
803
查看次数

uwsgi服务没有启动

我在我的服务器上运行了一个python应用程序(具体的Django).在昨天之前,它已成功运行在带有mod-wsgi的apache下几乎没有问题.我有两个主要原因切换到nginx:

  • 性能 - 在nginx下,我几乎有一半的时间用于每个请求
  • 两个应用程序在apache下没有成功运行 - 由nginx解决
  • 第三个原因是我的配置更好

我的uwsgi服务有问题.首先,我将包含应用程序的wsgi文件:

import os
import sys 

path = os.path.abspath(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

if path not in sys.path:
sys.path.append(path)

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "usporion.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
Run Code Online (Sandbox Code Playgroud)

然后我有init app的uwsgi.ini文件,位于/etc/uwsgi/apps-enabled/usporion.ini:

[uwsgi]
plugins = python
uid = www-data
gid = www-data
uwsgi-socket = /srv/sockets/usporion.sock
chmod-socket = 664
chdir = /srv/www/usporion
pythonpath = /srv/www/usporion
module = usporion.wsgi
env = DJANGO_SETTINGS_MODULE=usporion.settings
logdate = True
logto = /var/log/uwsgi/usporion.log
#daemonize = /var/log/uwsgi/usporion.log
vacuum = True
max-requests = 1000
processes = …
Run Code Online (Sandbox Code Playgroud)

python webserver nginx uwsgi

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

jQuery 完全用另一个 DOM 替换元素的 DOM - 更快的方法?

我正在使用 jQuery 的 AJAX 从服务器获取新内容。数据以 JSON 格式加载:

\n\n
$.ajax({\n    url: url,\n    data: {\n        \'ajax\': \'1\',\n    },\n    dataType: \'json\',\n    success: somefunction\n});\n
Run Code Online (Sandbox Code Playgroud)\n\n

由于服务器端应用程序限制,我无法在内部设置更多 JSON 变量,因此我必须将所有内容加载到内容中。这就是为什么我必须将结果加载到 jQuery 中,而不是搜索并替换页面上的某些元素,如下所示(在 中使用somefunction):

\n\n
var somefunction = function(data) {\n    var con = $(\'<div></div>\').html(data.content); // just $(data.content) is not working\n    $(\'div#mainContent\').html(con.find(\'div#ajax-content\').html());\n    ... // same process with three more divs\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

编辑:请注意,我必须执行相同的过程来替换三个 div!

\n\n

关于这一点还有更多内容,但作为示例,我希望这已经足够了。我的问题:对于某种逻辑方式,我希望将结果加载到 DOM ( $(data.content)),解析为 html ( con.find(\'dix#ajax-content\').html()) 然后返回 DOM ( $(\'div#mainContent\').html()) 在我看来就像丢失一些资源并降低性能,所以我想知道是否有任何更快的方法来做到这一点并直接加载 DOM,例如:

\n\n
$(\'div#mainContent\').dom(con.find(\'div#ajax-content\').dom());\n
Run Code Online (Sandbox Code Playgroud)\n\n

我尝试用 google 搜索它,但也许我不知道该输入什么。另外 …

javascript ajax jquery dom

5
推荐指数
1
解决办法
7021
查看次数