小编Jar*_*erg的帖子

如何在django上获取当前语言环境的"short_date_format"?

我已经成功地在我的项目上设置了L10N,并且我能够将日期转换为正确的格式.但是现在我需要在SHORT_DATE_FORMAT模板上或在context_processor中使用当前语言环境.

从它获取它django.conf.settings总是给我默认值,m/d/Y.区域设置当前设置为pt_BR,因此格式应该是d/m/Y.

In [42]: settings.LANGUAGE_CODE
Out[42]: 'pt-br'

In [43]: settings.USE_L10N
Out[43]: True

In [44]: settings.SHORT_DATE_FORMAT
Out[44]: 'm/d/Y'
Run Code Online (Sandbox Code Playgroud)

有线索吗?

顺便说一下,我真正想做的是:获取当前语言环境的格式,以便将其传递给bootstrap-datepicker插件.它目前正在使用,m/d/Y而django正在以d/m/Y格式提供日期.

django localization

6
推荐指数
1
解决办法
2929
查看次数

由于'redirect_to root_url'未传递操作而导致的RoutingError

使用Devise进行身份验证并使用CanCan进行授权的标准Rails_Admin安装,以非admin用户身份访问http:// localhost:3000/admin会生成以下服务器日志:

Started GET "/admin" for 127.0.0.1 at 2011-08-09 22:46:10 -0400
  Processing by RailsAdmin::MainController#index as HTML
  User Load (0.2ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
Completed 404 Not Found in 151ms

ActionController::RoutingError (No route matches {:controller=>"gyms"}):
  app/controllers/application_controller.rb:5:in `block in <class:ApplicationController>'
Run Code Online (Sandbox Code Playgroud)

直到最后一部分的一切似乎都没问题.据我所知,CanCan可以正确地解救异常,并尝试通过以下代码重定向到root_url:

class ApplicationController < ActionController::Base
  protect_from_forgery

  rescue_from CanCan::AccessDenied do |exception|
    redirect_to root_url, :alert => exception.message
  end
end

TopOut::Application.routes.draw do
  mount RailsAdmin::Engine => '/admin', :as => 'rails_admin'
  devise_for :users

  resources :gyms

  root :to => "gyms#index" …
Run Code Online (Sandbox Code Playgroud)

cancan ruby-on-rails-3 rails-admin

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

对于Mountain Lion上的Django翻译,应用程序gettext不可见

我正在尝试在我的Django项目中翻译我的应用程序.我的开发机器在OSX Mountain Lion的控制下工作,开箱即用没有安装gettext,所以我用Homebrew安装了这个应用程序:

brew install gettext
Run Code Online (Sandbox Code Playgroud)

此命令安装了gettext-0.18.3.1.

之后我尝试为我的应用程序生成消息:

python manage.py makemessages -l pl
Run Code Online (Sandbox Code Playgroud)

结果我收到消息:

CommandError: Error running xgettext. Note that Django internationalization requires GNU gettext 0.15 or newer.
Run Code Online (Sandbox Code Playgroud)

您是否有任何建议如何通过Homebrew安装gettext在Mountain Lion上启动翻译流程?

django homebrew translation gettext xgettext

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