【发布时间】:2013-06-22 07:28:44
【问题描述】:
我是 emacs 新手,但我知道如何掌握基础知识。 我只是想让 Django 与 ubuntu 上的 emacs 24 集成。 Django-mode 似乎是镇上唯一的游戏,但有没有编写步骤更完整的教程?一个典型的用例是那些不是 emacs 专家但想为 emacs 添加 Django 支持的人。
我已经正确设置了 virtualenv 和 virtualenvwrapper。但是无论我做什么,django-mode 都没有检测到我的 virtualenv。
我对下面引用的关于目录局部变量的段落有很多麻烦,因为文档写得不好。
这个文件 .dir-locals.el 是可选的吗?他的许多解释令人困惑。我需要 iPython 吗?我认为不是,但我猜 python-shell-interpreter 不是可选的。
我制作了一个 .dir-locals.el 文件并添加了我的 virtualenv 路径,但是 django-mode 没有检测到我的 virtualenv。在 emacs 中它说:virtualenv none。
还有一个菜单栏的屏幕截图,它允许很多简洁的东西,比如运行 ./manage.py collectstatic 等....但没有提到如何激活菜单。也许这是一个基本的 emacs 命令,但我不知道,如果有人能告诉我如何使用 django 设置 emacs,我将不胜感激。
还有其他选择还是 django 模式可以选择?我是否错过了大量文档(比如它隐藏在 emacs 中)
谢谢!
Directory 局部变量 现在我们已经全部设置好了 重要的话题,那就是目录局部变量。
python.el 可以识别目录局部变量,并且支持 基于目录的配置,这就是理解这个主题的原因 那很重要。所以我建议你阅读相关部分 使用 M- 的手册:(info "(emacs)Directory Variables")。
.dir-locals.el 是一个包含关联列表的文件,但是 不要让名字吓到你,下面是一个相当完整的 我用来打开当前项目的示例。
((python-mode (python-shell-interpreter . "python")
(python-shell-interpreter-args . "/home/fgallina/Code/Projects/anue-site/anue/manage.py shell")
(python-shell-prompt-regexp . "在 \[[0-9]+\]: ")
(python-shell-prompt-output-regexp . "Out\[[0-9]+\]:")
(python-shell-completion-setup-code 。“来自 IPython.core.completerlib 导入模块_完成")
(python-shell-completion-module-string-code . "';'.join(module_completion('''%s'''))\n")
(python-shell-completion-string-code . "';'.join(get_ipython().Completer.all_completions('''%s'''))\n")
(python-shell-extra-pythonpaths "/home/fgallina/Code/Projects/anue-site/anue/apps/")
(python-shell-virtualenv-path . "/home/fgallina/.virtualenvs/anue")))
http://from-the-cloud.com/en/emacs/2013/01/28_emacs-as-a-django-ide-with-python-djangoel.html
【问题讨论】:
-
哪种团子模式?为什么选择虚拟环境?为什么是目录局部变量?
-
python-django.el 是我正在尝试集成到 emacs 24 中的。我使用终端。没关系,我已经为此花费了 24 个实际工作时间。我通常责怪自己,因为很明显其他人可以做到这一点。但对我来说,如果没有更清晰的文档,我将无法让它发挥作用。我会考虑其他选项,但如果有人可以为新手整理教程,我将不胜感激!
-
然后告诉我们你做了什么,以及它是如何失败的。
标签: emacs