我试图覆盖Django管理站点的默认翻译.
我正在使用Django 1.6.我的settings.py包含:
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
# ...
LANGUAGE_CODE = 'nl'
USE_I18N = True
USE_L10N = True
LOCALE_PATHS = (os.path.join(BASE_DIR, "locale"),)
Run Code Online (Sandbox Code Playgroud)
我已将文件复制settings.py到,django/contrib/admin/locale/nl/LC_MESSAGES/django.po并对其进行了一些更改.
接下来,我已经运行my_project/locale/nl/LC_MESSAGES/django.po和python manage.py compilemessages.
python manage.py runserver然而,当我访问时,我仍然看到Django的默认管理员翻译.我究竟做错了什么?
编辑 - 我发现了问题:
以上描述是覆盖应用翻译的正确方法.我遵循自己的指示,他们工作.我的问题的原因是我localhost:8000/admin第一次意外地省略了子目录.我是一个愚蠢的人.
python django localization internationalization django-admin
我正在制作一个没有项目的可重用的Django应用程序.这是目录结构:
/
/myapp/
/myapp/models.py
/myapp/migrations/
/myapp/migrations/__init__.py
Run Code Online (Sandbox Code Playgroud)
当我运行时,django-admin makemigrations我收到以下错误:
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
Run Code Online (Sandbox Code Playgroud)
显然,这是因为我没有配置设置模块,因为这是一个可重用的应用程序.但是,我仍然希望通过我的应用程序发布迁移.我该怎么做?
我尝试在 Debian 系统上将 PostgreSQL 从 11 升级到 13,但失败了。我有一个需要升级的集群:
\n$ sudo -u postgres pg_lsclusters\nVer Cluster Port Status Owner Data directory Log file\n11 main 5432 online postgres /var/lib/postgresql/11/main /var/log/postgresql/postgresql-11-main.log\nRun Code Online (Sandbox Code Playgroud)\n这是我尝试升级的方法:
\n$ sudo -u postgres pg_upgradecluster 11 main\nStopping old cluster...\nWarning: stopping the cluster using pg_ctlcluster will mark the systemd unit as failed. Consider using systemctl:\n sudo systemctl stop postgresql@11-main\nRestarting old cluster with restricted connections...\nNotice: extra pg_ctl/postgres options given, bypassing systemctl for start operation\nError: cluster configuration already exists\nError: Could not create …Run Code Online (Sandbox Code Playgroud) 我在Django管理界面的CKEditor中上传了一些图像.我可以通过单击编辑器中的"图像"按钮来浏览和选择图像,然后在弹出的窗口中单击"浏览服务器".这是弹出窗口的屏幕截图:

我的问题是:如何删除服务器上的图像?
我有一些Python代码尝试一堆不同的数据库查询,然后得出结论数据库是空的并放弃.这是一个简化的例子:
try:
result = Object.get(name="requested_object")
except Object.DoesNotExist:
try:
result = Object.get(name="default_object")
except Object.DoesNotExist:
try:
result = Object.get(pk=1)
except Object.DoesNotExist:
print "The database is empty!"
raise
Run Code Online (Sandbox Code Playgroud)
请注意,我试图捕获的异常每次都是相同的.当然必须有一种方法可以做到这一点,而无需不必要的重复和嵌套.如果没有嵌套的try ... except语句,我怎样才能实现相同的行为?
我正在尝试通过编写一个简单的控制台象棋游戏来学习Haskell.它显示一个棋盘,并从SAN表示法中的标准输入移动.这是我到目前为止所得到的:
import System.IO
import Chess
import Chess.FEN
main = do
putStrLn "Welcome to Console Chess!"
putStrLn $ show defaultBoard
gameLoop defaultBoard
gameLoop board = do
putStr "Your move: "
hFlush stdout
move <- getLine
let newBoard = moveSAN move board
case newBoard of
Left _ -> do
putStrLn "Invalid move, try again..."
gameLoop board
Right b -> do
putStrLn $ show b
gameLoop b
Run Code Online (Sandbox Code Playgroud)
问题是对moveSAN函数的调用有时会使程序崩溃,从而失去游戏中的所有进展.例如,在"您的移动:"提示下按Enter键会产生:
Your move:
cchess: Prelude.head: empty list
Run Code Online (Sandbox Code Playgroud)
否则,输入两位数的数字会产生:
Your move: 11
cchess: …Run Code Online (Sandbox Code Playgroud) 我正在编写一个跨平台的 Python 应用程序,它充当DOSBox的前端。它需要使用许多命令行参数调用 DOSBox 可执行文件。我不想硬编码到 DOSBox 的特定路径,因为它可能取决于用户安装它的位置。
在 Linux 上,我可以简单地做:
import subprocess
subprocess.run(['dosbox'] + args)
Run Code Online (Sandbox Code Playgroud)
但是,在 macOS 上,我目前使用以下代码:
import subprocess
subprocess.run(['/Applications/dosbox.app/Contents/MacOS/DOSBox'] + args)
Run Code Online (Sandbox Code Playgroud)
这看起来非常具体,我什至不确定它是否有效,因为我没有要测试的 Mac。
在 macOS 上按名称打开应用程序的正确方法是什么?
(注意:我也为 Windows提出了这个兄弟问题。)
我的老板让我将以下几行(来自这个答案)放入我编写的 Python 3 脚本中:
import sys
import codecs
sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())
Run Code Online (Sandbox Code Playgroud)
他说这是为了防止UnicodeEncodeErrors在非 UTF8 语言环境中打印 Unicode 字符。我想知道这是否真的有必要,以及为什么 Python 不会在没有样板代码的情况下正确处理编码/解码。
使 Python 脚本与不同操作系统语言环境兼容的最 Pythonic 方法是什么?这个样板代码到底做了什么?
我在很多地方都看到,使用线程本地存储来存储 Django 应用程序中的任何数据并不是一个好的做法。但这是我存储请求对象的唯一方法。我需要存储它,因为我的应用程序具有复杂的结构。而且我无法继续在每个函数调用或类初始化时传递请求对象。
我需要将请求对象中的 cookie 和标头传递给我在应用程序中不同位置进行的一些 api 调用。
所以我正在使用中间件,如参考文献中所述。而且,这就是请求的存储方式
from threading import local
_thread_locals = local()
_thread_locals.request = request
Run Code Online (Sandbox Code Playgroud)
并且,这就是获取数据的方式:
getattr(_thread_locals, "request", None)
Run Code Online (Sandbox Code Playgroud)
那么存储在线程中的数据是否是该特定请求的本地数据呢?或者,如果同时发生另一个请求,它们是否都使用相同的数据?(这当然不是我想要的)
或者有没有新的方法来处理这个老问题(全局存储请求对象)
注意:我也在async我的 Django 应用程序中的某些地方使用(如果这很重要的话)。
python django python-multithreading python-3.x django-rest-framework
以下(工作)Haskell 程序输出随机拼写:
import System.Random
spells =
[ "Abracadabra!"
, "Hocus pocus!"
, "Simsalabim!"
]
main :: IO()
main = do
spell <- (spells !!) <$> randomRIO (0, length spells - 1)
putStrLn spell
Run Code Online (Sandbox Code Playgroud)
然而,这个变量spell是非常无用的。它存储从法术列表中选择的随机字符串,但随后会立即传递给putStrLn函数并且不再使用。我尝试将两个 IO 操作合并为一行,如下所示:
main = putStrLn <$> (spells !!) <$> randomRIO (0, length spells - 1)
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
• Couldn't match type ‘IO ()’ with ‘()’
Expected type: Int -> ()
Actual type: Int -> IO ()
• In the first argument of ‘(<$>)’, …Run Code Online (Sandbox Code Playgroud) 我有以下变量:
domain_names:
- app1.example.com
- app2.example.com
customers:
- name: customer1
- name: customer2
Run Code Online (Sandbox Code Playgroud)
我正在尝试生成以下域名列表:
- customer1.app1.example.com
- customer2.app1.example.com
- customer1.app2.example.com
- customer2.app2.example.com
Run Code Online (Sandbox Code Playgroud)
通过使用以下 Ansible/Jinja2 代码:
- name: check which certificates exist
stat:
path: '/etc/nginx/{{item}}.crt'
register: cert_file
loop: '{% for d in domain_names %}{{ d }} {% for customer in customers %}{{ customer.name }}.{{ d }} {% endfor %}{% endfor %}'
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
failed | msg: Invalid data passed to 'loop', it requires a list, got this instead: customer1.app1.example.com customer2.app1.example.com customer1.app2.example.com customer2.app2.example.com. …Run Code Online (Sandbox Code Playgroud) python ×6
django ×4
haskell ×2
python-3.x ×2
android ×1
ansible ×1
ckeditor ×1
debian ×1
django-admin ×1
fonts ×1
io-monad ×1
jinja2 ×1
localization ×1
macos ×1
migration ×1
monads ×1
postgresql ×1
random ×1
unicode ×1