所以我正在学习本教程http://rosslaird.com/blog/building-a-project-with-mezzanine/,以便用Mezzanine构建项目。我对所有这些东西都很陌生(包括Linux和命令行),坦白说我真的不知道自己在做什么。我在本教程的这一部分:
在local_settings.py和settings.py文件所在的目录中运行此命令:python manage.py createdb
教程说,在我输入“python manage”命令后,我将“被要求创建一个超级用户,提供用户的详细信息,并回答更多问题”。当我输入命令时,没有出现任何问题。为什么是这样?非常感谢你提前。
答案 0 :(得分:0)
所以你试图在命令行右侧(终端)运行它?
sudo -u postgres createuser --superuser $USER
sudo -u postgres psql
postgres=# \password [enter your username]
Enter new password:
Enter it again:
\q
createdb $USER;
使用您指定的名称更改$ USER。
答案 1 :(得分:0)
很抱歉,您提供的链接是404(很可能是因为此帖子已超过2年)。
但是......我想我发现它here(有点)......有一些零碎的东西丢失了,这可能让它变得混乱。 " manage.py"应该位于您的" settings.py |之前的父目录中local_settings.py | urls.py"文件驻留。运行manage命令时,请确保您位于相应的目录中。一个简单的ls
或ls -la
命令将显示您的文件在目录中的位置。我自己是新手Mezzanine用户。我已经玩了一年了,希望这些信息可以作为在PostgreSQL上设置Mezzanine同时解决你的问题的快速入门指南。
所以......一旦满足以下条件,你就应该能够用PostgreSQL数据库实例创建一个Mezzanine项目。但首先,确保您在没有警告或错误的情况下设置并运行Mezzanine。
对于夹层设置...
前提条件: 你已经安装了Python,pip等......
pip install virtualenv
pip install virtualenvwrapper
sudo vi ~/.bashrc
然后添加以下内容...... ## Virtualenvwrapper Settings
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/envs/mezzanine/projects/live/here
source /usr/local/bin/virtualenvwrapper.sh
注意:执行i
插入文本,完成编辑后输入ctrl + c
以退出提示,然后:wq!
写入(保存)并退出。然后关闭终端并打开一个新终端,以使新更改生效。如果没有,请重新启动计算机。
cd ~/envs/mezzanine/projects/live/here
并为您的Mezzanine项目创建您的virtualenv(它将在创建后激活)。
mkvirtualenv environment_name
只需在终端输入deactivate
即可停用您的环境。要重新激活您的环境,请键入workon environment_name
现在您可以安装Mezzanine ......
pip install -U mezzanine
然后创建您的Mezzanine项目并观察在项目目录中创建的那些文件夹...
mezzanine-project project_name
收集模板&静态文件。
python manage.py collecttemplates
python manage.py collectstatic
现在创建您的数据库实例(默认情况下,如果您在settings.py中没有更改任何内容,那么这将是SQLite。
确保您已配置ALLOWED_HOSTS并修改settings.py(如果您还没有)。
vi ~/envs/mezzanine/projects/live/here/project_name/project_name/settings.py
。
ALLOWED_HOSTS = [
'127.0.0.1:8000',
'localhost',
'www.mydomain.com' #if you want to set that too.
]
注意:请勿忘记保存更改ctrl+c
& :wq!
。
python manage.py runserver
并通过打开浏览器并键入127.0.0.1:8000从端口8000的localhost(环回地址)获取响应。 (确保首先激活您的环境)现在为您的PostgreSQL数据库...
检查一下。它是一个非常好的资源,甚至触及virtualenv。您也可以用Mezzanine(几乎)替换Django引用。最重要的部分是数据库设置部分......
安装Postgres和依赖项。 (您可能需要在此处以sudo
标记-H
运行
sudo apt-get install libpq-dev python-dev postgresql postgresql-contrib
安装psysopg2(也可能需要sudo -H
)
sudo pip install psycopg2
登录" postgres"用户:
sudo -su postgres
运行psql shell命令:psql
。你应该看到' postgres =#'文本。
现在,创建数据库(记住用分号结束psql语句;)CREATE DATABASE mydb;
创建数据库用户:CREATE USER mydbuser WITH PASSWORD 'mypassword';
设置您的用户角色:
ALTER ROLE mydbuser SET client_encoding TO 'utf8';
ALTER ROLE mydbuser SET default_transaction_isolation TO 'read committed';
ALTER ROLE mydbuser SET timezone TO 'UTC';
8:然后授予数据库用户访问权限:GRANT ALL PRIVILEGES ON DATABASE mydb TO mydbuser;
输入ctrl + d
退出shell,然后输入exit
退出postgres用户。
现在,转到Mezzanine项目工作目录中的settings.py和local_settings.py,然后使用之前创建的凭据修改DATABASES设置... cd ~/envs/mezzanine/projects/live/here/project_name/project_name/
然后{ {1}}
vi settings.py
注意:不要忘记local_settings.py
现在您可以通过manage.py创建数据库。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'mydb',
'USER': 'mydbuser',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '5432',
}
}
上述命令应提示您进行数据库的初始设置以及站点信息,以及创建超级用户。只需按照提示操作即可。要创建其他超级用户,请执行此操作 `python manage.py createsuperuser'
现在返回项目根python manage.py createdb
的目录并运行您的服务器cd ..
。现在......你应该在PostgreSQL上运行你的新Mezzanine项目。恭喜! :)
答案 2 :(得分:-1)
教程是错误的。作者对前面使用的Postgres createdb
命令和实际的manage.py命令(syncdb
感到困惑。
使用实际的Django教程会更好。