0

所以我最近安装了位于此处的 django-registration 应用程序:https ://django-registration.readthedocs.org/en/latest/index.html 。我使用它安装了它,pip并且一直在玩它。作为我安装的第一个 Python/Django 开源软件,它引发了一些新手问题。

文档指示我将以下行添加到我的网址中,我这样做了:

url(r'^accounts/', include('registration.backends.default.urls')),

后来我尝试访问127.0.0.1:8000/accounts/login/我当地的 runserv。它提示我TemplateDoesNotExist at /accounts/login/。合理的。我的问题是,如何将模板安装到注册文件夹中。我目前在我的项目中没有“注册”文件夹,因为我从未运行过任何django-admin.py startapp Registration诸如此类的命令。

如果我无法直接访问其文件夹,我对如何访问和更改此新注册应用程序中的内容感到困惑?

PS:如果我在实际服务器上(如机架空间、AWS 等),这样的解决方案会有所不同吗

4

2 回答 2

1

欢迎来到 Django 的世界!如果您是django 新手,我强烈建议您阅读 django 教程;它可以帮助回答一些关于组件代码(如模板)应该放在哪里的问题。

在您的设置文件中,您需要设置 TEMPLATE_DIRS,如下所示。在项目目录中创建一个文件夹,名为templates. 在该文件夹中,创建一个名为registration. 然后,您可以在login.html那里放置一个模板(因此它位于 path templates/registration/login.html)。

这个 github 项目也有 django-registration 的默认模板:https ://github.com/yourcelf/django-registration-defaults

于 2014-03-27T18:57:42.660 回答
0

您需要按照文档中的说明将“注册”应用程序添加到您的安装列表中,如下所示:

INSTALLED_APPS = (
    # ...other installed applications...
    'registration',)

ACCOUNT_ACTIVATION_DAYS = 7 # One-week activation window; you may, of course, use a different value.

然后运行“syncdb”命令以确保之后:

python manage.py syncdb

如果有任何需要同步的数据库部分,这会将应用程序同步到您当前的 Web 应用程序。

不过,主要问题是......关于如果“注册”应用程序不在您当前的项目中,Django 如何查找它?好吧,Python 实际就是这样做的,它会在“站点包”中的 Python 库中查找。安装后,您将在那里看到“注册”应用程序。那是它使用的目录。

于 2014-03-27T19:06:59.040 回答