我对python和Django都是全新的.我有一个示例Django Rest项目.当我跑:
python manage.py makemigrations
Run Code Online (Sandbox Code Playgroud)
我收到错误:
ImportError: No module named django_extensions
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
我在virtualenv中运行它
我目前正在使用最新版本的 VSCode 和 Django。每当我启用 Baptiste Darthenay 的 Django 扩展时,HTML 自动完成功能就会停止工作。如果我禁用 Django 扩展并重新加载 VSCode,它将再次开始工作。我应该怎么做才能使 HTML 自动完成功能与 Django 扩展一起工作?
在shell_plus,有没有办法自动导入选定的辅助方法,如模型?
我经常打开shell来输入:
proj = Project.objects.get(project_id="asdf")
Run Code Online (Sandbox Code Playgroud)
我想用以下内容替换:
proj = getproj("asdf")
Run Code Online (Sandbox Code Playgroud) 如何在我的模型中使用UUIDField?
如果我做
somefield = UUIDField
Run Code Online (Sandbox Code Playgroud)
我得到:
UUIDField is not defined.
Run Code Online (Sandbox Code Playgroud)
我在我的模型文件上导入uuid.
我在已安装的应用程序中有django_extensions ...
我正在使用django-extensions shell_plus命令,但它不保存命令历史记录(即,↑什么都不做).任何想法如何解决这一问题?
我正在通过 django_extensions 使用 IPython Notebook:
python manage.py shell_plus --notebook
Run Code Online (Sandbox Code Playgroud)
这会将 Notebook 文件保存到当前文件夹(Django 项目文件夹)。如何更改.ipynb文件的保存位置?
我正在尝试访问使用shell_plus来自 Docker 容器中 django-extensions的命令创建的 Jupyter Notebook 。
docker-compose -f local.yml run --rm django python manage.py shell_plus --notebook
Run Code Online (Sandbox Code Playgroud)
我的配置基于@RobM 和@Mark Chackerian 对此堆栈溢出问题的回答。即我安装并配置了一个自定义内核,我的 Django 应用程序配置文件将常量NOTEBOOK_ARGUMENTS设置为:
NOTEBOOK_ARGUMENTS = [
'--ip', '0.0.0.0',
'--port', '8888',
'--allow-root',
'--no-browser',
]
Run Code Online (Sandbox Code Playgroud)
我可以在日志中看到容器成功启动:
[I 12:58:54.877 NotebookApp] The Jupyter Notebook is running at:
[I 12:58:54.877 NotebookApp] http://10d56bab37fc:8888/?token=b2678617ff4dcac7245d236b6302e57ba83a71cb6ea558c6
[I 12:58:54.877 NotebookApp] or http://127.0.0.1:8888/?token=b2678617ff4dcac7245d236b6302e57ba83a71cb6ea558c6
Run Code Online (Sandbox Code Playgroud)
但是网址打不开。我已经转发了我的 8888 端口docker-compose,尝试使用localhost而不是,127.0.0.1还尝试使用容器 IP,但没有成功。
感觉就像我在这里遗漏了明显的东西……感谢任何帮助。
python django django-extensions docker-compose jupyter-notebook
我有一个中央 Django 服务器,其中包含数据库中的所有信息。我想要第二个 Django 服务器,其中包含第二个数据库中该信息的子集。我需要一种万无一失的方法来有选择地在两者之间同步数据。
我正在考虑使用 TimeStampedModel (来自 django-extensions)或添加我自己的 DateTimeField(auto_now=True) ,以便每个对象都存储其最后修改时间。然后,也许有一种机制可以将数据从一个数据库转储并将其加载到另一个数据库中,以便仅保留最近修改的对象。
我正在考虑的可能性是 django 的 dumpdata、django-extensions dumpscript、django-test-utils makefixture 或者 django-fixture magic。有很多事情需要考虑,所以我不确定该走哪条路。
我有一个基于类的TimeStampedModel来自django-extentions:
from model_utils.models import TimeStampedModel
class MyClass(TimeStampedModel):
pass
Run Code Online (Sandbox Code Playgroud)
默认情况下,在管理界面中,created和modified字段不会显示在版本页面中my_app/myclass/id.
我尝试了这个hack来强制显示编辑管理页面中的created和modified字段MyClass:
from django.contrib import admin
from my_app.models import MyClass
class MyClassAdmin(admin.ModelAdmin):
fields = MyClass._meta.get_all_field_names()
admin.site.register(MyClass, MyClassAdmin)
Run Code Online (Sandbox Code Playgroud)
但这引发了以下异常:
Exception Type: FieldError
Exception Value: Unknown field(s) (modified, created) specified for MyClass. Check fields/fieldsets/exclude attributes of class MyClassAdmin.
Run Code Online (Sandbox Code Playgroud)
任何想法如何在版本管理界面中显示created和modified字段MyClass?
注1: MyClass是包含许多字段的模型,包括ManyToMany字段.我可以显示除基类之外的所有字段created和modified字段TimeStampedModel.
注2:参考中的管理页面是一行的编辑页面: …
我试图可视化一个项目的数据库,并看到建议使用它django-extensions来做到这一点,所以我遵循了文档。我所做的是:
安装pyparsing并pydot使用 pip 以及graphviz不使用 pip 进行安装。另外修改我的设置如下:
#settings.py
INSTALLED_APPS = ['blabla', ... 'django-extensions']
GRAPH_MODELS = {
'all_applications': True,
'group_models': True,
}
Run Code Online (Sandbox Code Playgroud)
./manage.py graph_models --pydot -a -g -o my_project_visualized.png我在容器中运行了命令。
pyparsing我看到还有其他线程,人们对和的版本有问题pydot。我没有指定任何版本,因为安装两者以及运行上述命令时都没有问题。