小编MD.*_*sar的帖子

Django模板如何使用变量查找字典值

mydict = {"key1":"value1", "key2":"value2"}
Run Code Online (Sandbox Code Playgroud)

在Django模板中查找字典值的常规方法是{{ mydict.key1 }}, {{ mydict.key2 }}.如果键是循环变量怎么办?即:

{% for item in list %} # where item has an attribute NAME
  {{ mydict.item.NAME }} # I want to look up mydict[item.NAME]
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

mydict.item.NAME失败.如何解决这个问题?

python django templates dictionary

207
推荐指数
4
解决办法
12万
查看次数

用于重命名模型和关系字段的Django迁移策略

我打算在现有的Django项目中重命名几个模型,其中有许多其他模型与我想要重命名的模型有外键关系.我很确定这需要多次迁移,但我不确定具体的程序.

假设我开始在Django应用程序中使用以下模型myapp:

class Foo(models.Model):
    name = models.CharField(unique=True, max_length=32)
    description = models.TextField(null=True, blank=True)


class AnotherModel(models.Model):
    foo = models.ForeignKey(Foo)
    is_awesome = models.BooleanField()


class YetAnotherModel(models.Model):
    foo = models.ForeignKey(Foo)
    is_ridonkulous = models.BooleanField()
Run Code Online (Sandbox Code Playgroud)

我想重命名Foo模型,因为名称并没有真正意义,并且导致代码混乱,并且Bar会使名称更加清晰.

从我在Django开发文档中读到的内容,我假设以下迁移策略:

步骤1

修改models.py:

class Bar(models.Model):  # <-- changed model name
    name = models.CharField(unique=True, max_length=32)
    description = models.TextField(null=True, blank=True)


class AnotherModel(models.Model):
    foo = models.ForeignKey(Bar)  # <-- changed relation, but not field name
    is_awesome = models.BooleanField()


class YetAnotherModel(models.Model):
    foo = models.ForeignKey(Bar)  # <-- changed relation, …
Run Code Online (Sandbox Code Playgroud)

python django django-migrations

133
推荐指数
8
解决办法
6万
查看次数

将用户添加到django中的组

如何通过组名称将用户添加到django中的组?

我可以做这个:

user.groups.add(1) # add by id
Run Code Online (Sandbox Code Playgroud)

我该怎么做这样的事情:

user.groups.add(name='groupname') # add by name
Run Code Online (Sandbox Code Playgroud)

python django

115
推荐指数
3
解决办法
7万
查看次数

Django设置默认日志记录

我似乎无法弄清楚如何为我的Django安装设置"默认"记录器.我想使用Django 1.3的新LOGGING设置settings.py.

我查看了Django Logging Doc的示例,但它看起来像他们只设置处理程序,它将为特定记录器进行日志记录.在他们的示例中,他们为名为'django','django.request'和'myproject.custom'的记录器设置处理程序.

我想要做的就是设置一个默认值logging.handlers.RotatingFileHandler,默认情况下会处理所有记录器.也就是说,如果我在我的项目中的某个地方创建一个新模块,并且它被表示为:my_app_name.my_new_module,我应该能够做到这一点并让所有日志记录转到旋转文件日志.

# In file './my_app_name/my_new_module.py'
import logging
logger = logging.getLogger('my_app_name.my_new_module')
logger.debug('Hello logs!') # <-- This should get logged to my RotatingFileHandler that I setup in `settings.py`!
Run Code Online (Sandbox Code Playgroud)

python django logging

93
推荐指数
2
解决办法
5万
查看次数

django模板显示项目值或空字符串

我在模板中的代码是这样的:

{% for item in items %}
    {{ item.somefield }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

如果item.somefield不是None,我想显示项值,或者显示空字符串.我不想使用{%if item.somefield%}语句,我想要{{item.somefield或''}}之类的东西(我试过这个但是它不起作用)

python django django-templates

74
推荐指数
2
解决办法
4万
查看次数

使用Django Template过滤器限制字符数

我试图在项目列表上输出描述的前255个字符,我正在寻找一种方法来获得它.

示例:我有一个包含300个左右字符的变量.

我叫这个变量, {{ my_variable|characterlimit:255 }}

它只返回该变量的前255个字符.

如果这个标签不存在,我将简单地创建它(并建议它进入django),但我想确保在我花时间做之前没有.谢谢!

python django django-templates

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

弹性搜索启动错误 - "\ Common目前是意外的."

我已经下载并提取了elasticsearch,当我运行批处理文件"elasticsearch.bat"时,我收到以下错误.

"\Common was unexpected at this time."
Run Code Online (Sandbox Code Playgroud)

解决了:

通过编辑'bat'文件的第46行

'%JAVA%' ==> '!JAVA!'

elasticsearch

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

Crashlytics错误 - 此应用程序依赖于Crashlytics.请注册访问

我在gradle中有两个构建版本但由于某种原因,每当我将以下标志更改为false时,我都会收到标题错误消息:

ext.enableCrashlytics = false
Run Code Online (Sandbox Code Playgroud)

错误本身完成如下:

Process: com.mobile.myapp.staging, PID: 5439
java.lang.RuntimeException: Unable to create application com.mobile.myapp.UI.myappApplication: io.fabric.sdk.android.services.concurrency.UnmetDependencyException: This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up,
install an Android build tool and ask a team member to invite you to this app's organization.
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4710)
at android.app.ActivityThread.-wrap1(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: io.fabric.sdk.android.services.concurrency.UnmetDependencyException: This app relies on Crashlytics. Please sign up for access at https://fabric.io/sign_up,
install …
Run Code Online (Sandbox Code Playgroud)

java android crashlytics

34
推荐指数
6
解决办法
2万
查看次数

如何在python中找到范围重叠?

Python中确定两个范围中哪些值重叠的最佳方法是什么?

例如:

x = range(1,10)
y = range(8,20)

(The answer I am looking for would be the integers 8 and 9.)
Run Code Online (Sandbox Code Playgroud)

给定一个范围,x,迭代另一个范围的最佳方法是什么,y并输出两个范围共享的所有值?在此先感谢您的帮助.

编辑:

作为后续行动,我意识到我还需要知道x是否与y重叠.我正在寻找一种迭代范围列表的方法,并做一些重叠范围的额外事情.是否有一个简单的True/False语句来实现这一目标?

python range

32
推荐指数
8
解决办法
4万
查看次数

Django - 如何在其管理模块中访问模型的verbose_name?

如何verbose_name在其管理模块中访问模型?如果我们有一个如下所示的模型实例,我们可以访问相同的内容.

instance._meta.verbose_name.title()
Run Code Online (Sandbox Code Playgroud)

django django-admin

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