Django的日期/时间格式有一个代码,用于显示am/pm部分时间:
a.m.
Run Code Online (Sandbox Code Playgroud)
要么
AM
Run Code Online (Sandbox Code Playgroud)
但不是:
am
Run Code Online (Sandbox Code Playgroud)
即没有句号的小写.
你如何使用小写上午/下午渲染时间?
注意:在输入这个问题时我想到了答案,所以我想而不是废弃它我会分享我的答案,以防它对其他人有帮助.
任何熟悉Sublime Text的多光标功能的人都会识别出执行以下操作的模式:多次按热键以选择光标下的多个单词实例,并自动为每个实例创建一个新光标.然后同时编辑每个实例,例如将当前单词替换为另一个单词或任何你想要的单词.
多个游标功能可用于vim via 插件.在使用该插件之前,我想(作为一个新的vim用户),检查是否有更本地的vim方式来实现相同的任务.
例如,我知道我可以使用该:s命令进行搜索和替换(根据此处的说明),但这要求我(1)键入我要替换的单词(或使用<C-r><C-a>快捷方式这样做),而不是简单地使用当前单词和(2)定义范围.也许这是本土的vim方式,也许(可能!)还有另一种我不知道的方式.
那么本机的vim方式是什么?
可能重复:
Python中的波浪号运算符
~在Python 中,squiggle ie 运算符是做什么的?
(对于大多数人来说,这可能是Python 101,但我遇到~了代码并且不知道它是什么,并且我花了大量的研究来解决它,所以希望这个Q&A可以帮助有人在路上.)
我有一种情况,我正在捕获一个特定的异常类型,检查异常的消息,检查它是否实际上是我想要捕获的异常,然后重新引发异常,如果不是:
try:
# do something exception-prone
except FooException as e:
if e.message == 'Something I want to handle':
# handle the exception
else:
raise e
Run Code Online (Sandbox Code Playgroud)
这很好,有一个问题.在我重新引发异常的情况下,该异常现在发生在我重新引发它(即at raise e)的行,而不是在最初发生异常的位置.这对于调试来说并不理想,您希望知道原始异常发生的位置.
因此我的问题是:在保持原始异常位置的同时捕获它之后,是否有任何方法可以重新引发或以其他方式"传递"异常?
注意:如果你想知道实际情况是什么:我正在使用动态导入一些模块__import__.我正在ImportError优雅地处理任何这些模块不存在的情况.但是,如果这些模块中的任何一个本身都包含一个引发的import语句ImportError,我希望引发那些"真实的"(从我的应用程序的角度来看)异常 - 并且在调试工具的原始位置担心.
在系统管理员/部署方面,我是一个完整的新手.这是我希望完成的事情:
据我所知,gunicorn是一种优雅的Django webapp服务方式,而WordPress最适合Apache.同时,建议将nginx作为gunicorn前的代理,并且似乎也用于提高WordPress网站的性能.
所以我的想法是:使用nginx作为代理服务器,将所有传入的Web请求路由到gunicorn(用于Django wepapp)或Apache(用于WordPress站点).Linode主机将同时运行nginx,gunicorn和Apache.
同时,对于Django webapp的更新,我可以通过github简单地更新到最新版本的代码.
这一切都有意义吗?我甚至在概念上正确地理解了事情吗?或者完全吠叫错误的树?(例如,我可以/我应该使用单个Apache服务器将请求路由到基于URL的WordPress或Django应用程序吗?)在研究如何让这个运行良好和顺利时,我应该记住哪些问题和问题?
更新:我已经通过(1)使用Heroku来托管我的Django应用程序,(2)使用CNAME记录将app.domain.com映射到Heroku托管的Django应用程序,以及(3)离开(现在)在domain.com上现有主机上的WordPress站点.值得庆幸的是,在我调查了所有这些之后,获得了对sysadmins和db管理员所做的新的尊重之后,现在我可以回到编码了!
我喜欢PyCharm的意图,当我想要它们时,而不是当它们不断地通过灯泡弹出来分散我的注意力时.
有没有办法禁用灯泡,但仍然可以通过Alt-Enter正常使用意图?
请注意,类似的问题显示了IntelliJ 的editor.xml配置选项以隐藏灯泡.PyCharm基于IntelliJ,但我在我的安装中找不到任何这样的XML配置文件.
我正在研究Google App Engine上的Django项目.我有一个像这样的网址:
http://localhost:8080/[company]/projects/project
请注意,这[company]是我在urls.py中定义的URL参数,如:
(r'(^[a-zA-Z0-9-_.]*)/projects/project/(\d*)', 'projects.views.project_form'),
我想[company]从中间件获取值,我将GAE数据存储空间设置为[company]值.
是否可以[company]从process_request中间件类方法中传递的请求对象中获取参数?
假设我有一个这样的模型:
class Car(models.Model):
BRANDS = (
('FRD', 'Ford'),
('MCD', 'Mercedes'),
...
)
brand = models.CharField(max_length=3, choices=BRANDS)
color = models.CharField(max_length=24)
url = models.URLField()
new = models.BooleanField(default=False)
Run Code Online (Sandbox Code Playgroud)
并希望使用基于类的通用视图生成列表视图:
在urls.py中
url(r'^car/list/$', CarList.as_view(), name='car_list'),
Run Code Online (Sandbox Code Playgroud)
在views.py中
class CarList(ListView):
model = Car
template_name = "list.html"
def get_queryset(self):
return Car.objects.all()
Run Code Online (Sandbox Code Playgroud)
在list.html中
{% for car in cars %}
<tr>
<td>{{ car.brand }}</td>
<td>{{ car.color }}</td>
<td>{{ car.url }}</td>
<td>{{ car.new }}</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
现在我想提供一些选项来在查询集上添加过滤器(以及每列的排序选项).例如,在任何列上执行%LIKE%的常规搜索框,或从品牌选择中选择的选项或每列的简单asc/desc.
我知道过滤器和排序最终应该在queryset(get_queryset)中,但这需要在模板和视图代码中进行大量的特定工作,而我觉得应该有一些软件包可以帮助解决这个问题?
有人有我的指示吗?
我在运行django-nose时遇到了麻烦.
根据安装说明,我通过以下方式安装:
pip install django-nose'django_nose'到INSTALLED_APPSsettings.py中(包括作为最后一个应用程序,以防可能的应用程序订单问题)TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'到settings.py当我运行测试即manage.py test,我得到:
django.db.utils.DatabaseError: no such table: django_content_type
Run Code Online (Sandbox Code Playgroud)
我想我需要同步数据库.我在用南方.当我使用时manage.py syncdb,django_nose不会显示在同步应用列表中,也不会显示"未同步(使用迁移)"应用列表.
最后,当我尝试与南方同步时,即manage.py schemamigration django_nose --initial,我得到:
django.core.exceptions.ImproperlyConfigured: App with label django_nose is missing a models.py module.
Run Code Online (Sandbox Code Playgroud)
我在一个virtualenv中安装了Django 1.4和South版本0.7.5.
我究竟做错了什么?如果没有,我该如何调试此安装问题?
为了尝试一个功能分支,我将它推送到Heroku的主人(因为那是它用于你网站的唯一分支),即我做了:
git push heroku feature-foo:master
Run Code Online (Sandbox Code Playgroud)
与此同时,我向我当地的主分公司做了一些提交.现在我想把我的本地主人推回Heroku,但我得到了:
To git@heroku.com:foo-repo.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@heroku.com:foo-repo.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Run Code Online (Sandbox Code Playgroud)
这是有道理的,因为Heroku的主人确实在我的feature-foo分支上,因此领先于master.但是我不想从Heroku中提取和合并 - 因为这与合并我的feature-foo分支是一样的,我不想这样做.现在,我只想在没有feature-foo提交的情况下推送我的本地主人.(事实上,我已经使用过,heroku rollback因此功能foo更改不会在网站上发布.)
我怎么做?