私信  •  关注

jojo

jojo 最近创建的主题
jojo 最近回复了
6 年前
回复了 jojo 创建的主题 » 在同一个Django管理页中添加与外键相关的实体

你可以用 InlineModelAdmin 为了这个。

在您的案例中,这可能看起来像:

from django.contrib import admin

class AnswerInline(admin.StackedInline):
    model = Answer
    extra = 1  # If you have a fixed number number of answers, set it here.

class QuestionAdmin(admin.ModelAdmin):
    model = Question
    inlines = [
        AnswerInline,
    ]

# don't forget to register your model
admin.site.register(Question, QuestionAdmin)


希望能帮助和快乐的编码!


没有 总是对的 回答这个问题,有一些关于处理列表时不同方法的速度的帖子,请参见例如。 here , here here .

最快的方法是什么?可能很大程度上取决于你的清单。 也就是说,让我们看看建议的方法有多快。

对于这样的简单比较,您可以使用 timeit :

1。案例:for循环

for_case = """newList=[]
for x in theList:
    if x > n:
            newList.append(x)"""

2。案例:列表理解

list_comp = '[x for x in theList if x > n]'

三。案例:过滤器(不知何故未标记)

filtering = 'list(filter(lambda x: x > n, theList))'

一些准备工作:

import timeit
si = 'theList=range(2000);n=1000;'  # using list(range(2000)) has no effect on the ranking

让我们看看:

timeit.timeit(si+list_comp, number=10000)
Out[21]: 1.3985847820003983
timeit.timeit(si+filtering, number=10000)
Out[22]: 3.315784254024038
timeit.timeit(si+for_case, number=10000)
Out[23]: 2.0093530920275953

所以,至少在我的机器上,列表理解会把它带走,然后是 for -循环,至少在这种情况下 filter 确实是最慢的。

6 年前
回复了 jojo 创建的主题 » 如何使用virtualenv在Django启动新项目

这里是 如何在虚拟环境中启动新的Django项目 :

. 为项目创建新的virtualenv:

virtualenv py_env --python=python3

--python=python3 不是强制性的。我建议在python3.x中编程,但这取决于您。如果您不确定省略时将使用的默认python是什么 --python 选项类型 python -V 在你的终点站。

. 激活virtualenv:

source py_env/bin/activate

如果你看到一个 (py_env) 在命令行的开头,您就知道virtualenv被激活了。要停用,只需键入 deactivate .

. 安装所需的软件包:

pip install django

虽然不需要,但我建议使用 ipython ,因此您可能要运行 pip install ipython .

. 创建新的Django项目:

django-admin startproject mysite

希望能帮助和快乐的编码!