Postgre 설정 방법장고의 SQL 데이터베이스
저는 파이썬과 장고가 처음입니다.
PostgrePostgre를SQL 데이터베이스 엔진 백엔드입니다. 그러나 각 데이터베이스 작업에서 오류가 발생합니다.를 들어 예를들실때할행어때▁i할▁run▁for▁example를 실행할 수 있습니다.manage.py syncdb다음과 같은 정보:
C:\xampp\htdocs\djangodir>python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
438, in execute_manager
utility.execute()
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
261, in fetch_command
klass = load_command_class(app_name, subcommand)
File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line
67, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
__import__(name)
File "C:\Python27\lib\site-packages\django\core\management\commands\syncdb.py"
, line 7, in <module>
from django.core.management.sql import custom_sql_for_model, emit_post_sync_
signal
File "C:\Python27\lib\site-packages\django\core\management\sql.py", line 6, in
<module>
from django.db import models
File "C:\Python27\lib\site-packages\django\db\__init__.py", line 77, in <modul
e>
connection = connections[DEFAULT_DB_ALIAS]
File "C:\Python27\lib\site-packages\django\db\utils.py", line 92, in __getitem
__
backend = load_backend(db['ENGINE'])
File "C:\Python27\lib\site-packages\django\db\utils.py", line 33, in load_back
end
return import_module('.base', backend_name)
File "C:\Python27\lib\site-packages\django\utils\importlib.py", line 35, in im
port_module
__import__(name)
File "C:\Python27\lib\site-packages\django\db\backends\postgresql\base.py", li
ne 23, in <module>
raise ImproperlyConfigured("Error loading psycopg module: %s" % e)
django.core.exceptions.ImproperlyConfigured: Error loading psycopg module: No mo
dule named psycopg
누가 무슨 일이 일어나고 있는지 제게 단서를 줄 수 있나요?
Python 라이브러리를 설치해야 합니다.
설치
http://initd.org/psycopg/, 을 다운로드한 다음 Python PATH 아래에 설치합니다.
다운로드 후 tarball을 쉽게 추출하고 다음 작업을 수행합니다.
$ python setup.py install
또는 원하는 경우 easy_install 또는 pip으로 설치합니다.
(저는 이유 없이 pip을 easy_install보다 더 선호합니다.)
$ easy_install psycopg2$ pip install psycopg2
배열
무대 장치로파이의
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'db_name',
'USER': 'db_user',
'PASSWORD': 'db_user_password',
'HOST': '',
'PORT': 'db_port_number',
}
}
기타 설치 지침은 다운로드 페이지 및 설치 페이지에서 확인할 수 있습니다.
또한 Postgre를 가지고 있는지 확인하십시오.SQL 개발 패키지가 설치되었습니다.Ubuntu에서 다음과 같은 작업을 수행해야 합니다.
$ sudo apt-get install libpq-dev
사용하는 단계별:
- sudo apt-get install python-dev
- sudo apt-get install postgresql-server-dev-9.1
- sudo apt-get install python-psycopg2 - Or sudo pip install psycopg2
데이터베이스를 관리하는 그래픽 도구를 설치하여 다음 작업을 수행할 수 있습니다.
sudo apt-get install postgresql pgadmin4
그런 다음 Postgre 사용자 암호를 변경한 후 다음을 수행해야 합니다.
- sudo su
- su postgres -c psql postgres
- ALTER USER postgres WITH PASSWORD 'YourPassWordHere';
- \q
settings.py 파일에서 다음 작업을 수행합니다.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'dbname',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': '',
'PORT': '',
}
}
추가:
명령줄을 사용하여 DB를 작성하려면 다음 작업을 수행합니다.
- sudo su
- su postgres -c psql postgres
- CREATE DATABASE dbname;
- CREATE USER djangouser WITH ENCRYPTED PASSWORD 'myPasswordHere';
- GRANT ALL PRIVILEGES ON DATABASE dbname TO djangouser;
settings.py 파일에서 다음 작업을 수행합니다.
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'dbname',
'USER': 'djangouser',
'PASSWORD': 'myPasswordHere',
'HOST': '',
'PORT': '',
}
}
다음 명령을 사용하여 "sycopg"를 설치할 수 있습니다.
# sudo easy_install psycopg2
또는 pip을 사용할 수 있습니다.
# pip install psycopg2
easy_install 및 pip는 ActivePython에 포함되거나 각 프로젝트 사이트에서 수동으로 설치됩니다.
또는 사전 구축된 윈도우즈 설치 관리자를 가져오면 됩니다.
이것은 조금 길어 보일 수 있지만, 저에게는 아무런 오류 없이 효과가 있었습니다.
먼저 Ubuntu Software Center에서 phppgadmin을 설치합니다.
그런 다음 터미널에서 이 단계를 실행합니다.
sudo apt-get install libpq-dev python-dev
pip install psycopg2
sudo apt-get install postgresql postgresql-contrib phppgadmin
Apache 서버 시작
sudo service apache2 start
이제 이것도 터미널에서 실행하여 아파치 파일을 편집합니다.
sudo gedit /etc/apache2/apache2.conf
열려 있는 파일에 다음 행을 추가합니다.
Include /etc/apache2/conf.d/phppgadmin
이제 아파치를 다시 로드합니다.터미널을 사용합니다.
sudo /etc/init.d/apache2 reload
이제 새 데이터베이스를 만들어야 합니다.'postgres' 사용자로 로그인합니다.터미널에서 계속합니다.
sudo su - postgres
'postgres'의 암호에 문제가 있는 경우 여기에 있는 https://stackoverflow.com/a/12721020/1990793 을 사용하여 암호를 변경하고 단계를 계속 진행할 수 있습니다.
이제 데이터베이스 만들기
createdb <db_name>
이제 새 사용자를 생성하여 나중에 새 암호를 제공하여 phppgadmin에 로그인합니다.
createuser -P <new_user>
이제 postgressql이 설정되었으며 다음으로 이동할 수 있습니다.
http://localhost/phppgadmin/
작성한 새 사용자를 사용하여 로그인하여 데이터베이스를 봅니다.
당장의 문제는 당신이 싸이코그2 모듈을 놓치고 있다는 것인 것 같습니다.
Fedora 20, Django 1.6.5, postgresql 9.3.*을 사용하고 있으며 psycopg2 모듈이 필요한 경우 다음을 수행합니다.
yum install postgresql-devel
easy_install psycopg2
만약 당신이 나와 같다면, 당신은 잘 문서화된 libpq-dev rpm을 찾는 데 어려움을 겪을 수 있습니다.위의 것들이 방금 저에게 효과가 있었습니다.
Mac에서도 같은 문제가 발생했습니다.
해결책은 PIP만을 사용하여 모든 것을 설치하고 일부를 터치하는 것이었습니다.
PIP를 처음 설치할 위치: https://pip.pypa.io/en/latest/
그런 다음 pg_config 경로가 PATH(echo $PATH)에 있는지 확인하고, 경로가 없으면 bash_profile을 편집할 수 있습니다.
vi /Users/<user>/.bash_profile
다음 행을 추가합니다.
export PATH=$PATH:/path/to/pg_config/bin
pg_config가 어디에 있는지 모르는 경우 "locate" 도구를 사용할 수 있지만 locate.db가 최신인지 확인합니다(이전 locate.db를 사용하고 있으며 존재하지 않는 경로를 사용하고 있었습니다).
sudo /usr/libexec/locate.updatedb
locate pg_config
그런 다음 Django(필요한 경우)와 psycopg2를 설치합니다.
sudo pip install Django
sudo pip install psycopg2
그런 다음 settings.py (localhost:defaultport)에서
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'dbname',
'USER': 'postgres',
'PASSWORD': 'postgres',
'HOST': '',
'PORT': '',
}
}
안녕하세요!
$ sudo apt-get install libpq-dev
이것으로 제 문제가 해결되었습니다.실행 후 다음을 수행합니다. pip install psycopg2
Postgre로 Django 앱을 만드는 단계SQL 데이터베이스를 처음부터 시작합니다.
Postgre 여부 확인SQL이 시스템에 설치되어 있습니다.bash 셸에 다음을 입력합니다.
psql --version이프 포스트그레SQL이 설치되었습니다. 6단계로 이동합니다.
Postgre 설치 방법SQL -
sudo apt-get install python3-dev libpq-dev sudo apt-get install postgresql postgresql-contrib기본적으로 PostgreSQL을 설치하면 모든 권한을 가진 "postgres"라는 특수 사용자가 생성됩니다.Postgre에 로그인하려면SQL
sudo -u postgres psqlPostgre를 종료하려면SQL 세션
\q이제 "postgres" 사용자의 암호를 설정합니다.
Postgre에 로그인SQL -
sudo -u postgres psql포스트그레에서SQL 대화형 세션 입력 -
\password postgresPostgre 작성SQL 데이터베이스.
bash 셸에서 직접 생성하려면 -
sudo -u postgres createdb your_db_namePostgre에서 작성하려면SQL 대화형 세션 -
createdb your_db_name데이터베이스가 작성되었는지 확인하려면, Postgre를 사용하여 모든 데이터베이스 나열SQL 명령
\l기존 장고 프로젝트가 있는 경우 11단계로 이동합니다.그렇지 않으면 가상 환경을 생성합니다.저는 virtualenv 래퍼를 사용합니다.
mkvirtualenv your_project_name장고 프로젝트를 만듭니다.
django-admin startproject your_project_name프로젝트 디렉토리에 CD를 넣고 앱을 만듭니다.
python manage.py startapp your_app_name장고를 설치합니다.
pip install djangoPsycopg2를 설치합니다.Psycopg2는 Postgre입니다.Python용 SQL 데이터베이스 어댑터입니다.Django가 Postgre와 연결하는 데 필요합니다.SQL.
pip install psycopg2다음과 같이 settings.py 을 업데이트합니다.
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': 'your_db_name', 'USER': 'postgres', 'PASSWORD': 'xxxxx', 'HOST': 'localhost', 'PORT': '', } }마이그레이션을 실행합니다.
python3 manage.py migrateDjango 서버 실행 및 localhost 방문:8000
python3 manage.py runserver 0.0.0.0:8000필요한 경우 Postgre를 보고 조작하는 그래픽 클라이언트인 pgadmin을 설치할 수 있습니다.SQL 데이터베이스 스키마 및 데이터.
의 설치에 주의하십시오.psycopg2via pip 또는 setup.py 을 사용하려면 Visual Studio 2008(보다 정확하게 실행 가능한 파일 vcvarsall.bat)이 필요합니다.Windows에서 설치하거나 적절한 PATH 변수를 설정할 관리자 권한이 없는 경우 여기에서 이미 컴파일된 라이브러리를 다운로드할 수 있습니다.
이것은 설정하기에 매우 좋고 단계적인 프로세스 중 하나입니다.PostgreSQLUbuntu 서버에서.와 함께 해봤습니다.Ubuntu 16.04그리고 그것은 작동합니다.
포트 5432에서 postgres 실행
설정에 지정합니다.파이의
https://www.postgresql.org/docs/14/app-postgres.html
언급URL : https://stackoverflow.com/questions/5394331/how-to-set-up-a-postgresql-database-in-django
'programing' 카테고리의 다른 글
| C++에서 어레이를 어떻게 사용합니까? (0) | 2023.05.20 |
|---|---|
| 오류: 'webpack' 모듈을 찾을 수 없습니다. (0) | 2023.05.20 |
| 애저에서 레드리스를 실행시키는 방법은? (0) | 2023.05.20 |
| 저장 프로시저에서 OUTPUT 파라미터(옵션)를 사용할 수 있습니까? (0) | 2023.05.20 |
| .NET 4.0 프로젝트에서 .NET 2.0 혼합 모드 어셈블리를 참조하려면 어떤 '추가 구성'이 필요합니까? (0) | 2023.05.20 |