【Python】 Django에서 재생 (관리 화면)
이 기사에 대하여
이전 기사에서 장고를 설정했습니다.
【Python】 Django에서 플레이 (설치 · HTML 파일 표시)
이번에는 기본적으로 설정되는 관리 사이트(admin 사이트)를 조금 살펴보겠습니다.
환경
OS: Windows10 Home
파이썬: 3.9.2
장고: 3.1.7
관리 사이트(admin 사이트)란?
이번은 로컬 환경 http://127.0.0.1
로 구축했습니다만, 아무것도 만지지 않아도 http://127.0.0.1/admin
에 액세스 하면 이하의 페이지가 표시됩니다.
다만, 유저명・패스워드는 모릅니다. .
만들고 로그인해 봅시다.
계정 생성
다음 명령으로 계정을 만들 수 있습니다.
python manage.py createsuperuser
그러자 뭔가 오류를 뱉었습니다 ...
$ python manage.py createsuperuser
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
Traceback (most recent call last):
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "C:\python39\lib\site-packages\django\db\backends\sqlite3\base.py", line 413, in execute
return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: auth_user
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Works\Dev\Django\demosite\manage.py", line 22, in <module>
main()
File "C:\Works\Dev\Django\demosite\manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "C:\python39\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
utility.execute()
File "C:\python39\lib\site-packages\django\core\management\__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\python39\lib\site-packages\django\core\management\base.py", line 330, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\python39\lib\site-packages\django\contrib\auth\management\commands\createsuperuser.py", line 79, in execute
return super().execute(*args, **options)
File "C:\python39\lib\site-packages\django\core\management\base.py", line 371, in execute
output = self.handle(*args, **options)
File "C:\python39\lib\site-packages\django\contrib\auth\management\commands\createsuperuser.py", line 100, in handle
default_username = get_default_username()
File "C:\python39\lib\site-packages\django\contrib\auth\management\__init__.py", line 140, in get_default_username
auth_app.User._default_manager.get(username=default_username)
File "C:\python39\lib\site-packages\django\db\models\manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "C:\python39\lib\site-packages\django\db\models\query.py", line 425, in get
num = len(clone)
File "C:\python39\lib\site-packages\django\db\models\query.py", line 269, in __len__
self._fetch_all()
File "C:\python39\lib\site-packages\django\db\models\query.py", line 1308, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "C:\python39\lib\site-packages\django\db\models\query.py", line 53, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "C:\python39\lib\site-packages\django\db\models\sql\compiler.py", line 1156, in execute_sql
cursor.execute(sql, params)
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 98, in execute
return super().execute(sql, params)
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "C:\python39\lib\site-packages\django\db\utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "C:\python39\lib\site-packages\django\db\backends\sqlite3\base.py", line 413, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: auth_user
계정을 만들기 전에 migrate
를 해 주시기 때문에 다음 명령으로 migrate
합니다.
python manage.py migrate
$ python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
성공했습니다.
기본적으로 db.sqlite3에 테이블이 작성됩니다.
이 설정은 setting.py
아래에 설명되어 있습니다.
setting.py# Database
# https://docs.djangoproject.com/en/3.1/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
덧붙여서 db.sqlite3
는 이러한 느낌으로 테이블이 작성되고 있습니다.
테이블이 생성되었으므로 다시 사용자를 만듭니다.
python manage.py createsuperuser
사용자 이름, 이메일 주소, 비밀번호를 입력합니다.
메일 주소는 미등록이라도 괜찮은 것 같습니다.
이제 계정을 만들 수 있었습니다.
로그인
계정을 만들었으므로 로그인합니다.
기본적으로 그룹과 사용자를 설정하는 기능을 사용할 수 있는 것 같습니다.
그룹을 설정할 때의 권한도 많이 있군요.
마지막으로
이번은 여기까지입니다.
DB를 변경하고 관리할 항목을 늘리는 것은 다음과 같은 경우에도 가능합니다.
Reference
이 문제에 관하여(【Python】 Django에서 재생 (관리 화면)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomcat666/items/a54593efaa2656410a39
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
OS: Windows10 Home
파이썬: 3.9.2
장고: 3.1.7
관리 사이트(admin 사이트)란?
이번은 로컬 환경 http://127.0.0.1
로 구축했습니다만, 아무것도 만지지 않아도 http://127.0.0.1/admin
에 액세스 하면 이하의 페이지가 표시됩니다.
다만, 유저명・패스워드는 모릅니다. .
만들고 로그인해 봅시다.
계정 생성
다음 명령으로 계정을 만들 수 있습니다.
python manage.py createsuperuser
그러자 뭔가 오류를 뱉었습니다 ...
$ python manage.py createsuperuser
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
Traceback (most recent call last):
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "C:\python39\lib\site-packages\django\db\backends\sqlite3\base.py", line 413, in execute
return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: auth_user
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Works\Dev\Django\demosite\manage.py", line 22, in <module>
main()
File "C:\Works\Dev\Django\demosite\manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "C:\python39\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
utility.execute()
File "C:\python39\lib\site-packages\django\core\management\__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\python39\lib\site-packages\django\core\management\base.py", line 330, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\python39\lib\site-packages\django\contrib\auth\management\commands\createsuperuser.py", line 79, in execute
return super().execute(*args, **options)
File "C:\python39\lib\site-packages\django\core\management\base.py", line 371, in execute
output = self.handle(*args, **options)
File "C:\python39\lib\site-packages\django\contrib\auth\management\commands\createsuperuser.py", line 100, in handle
default_username = get_default_username()
File "C:\python39\lib\site-packages\django\contrib\auth\management\__init__.py", line 140, in get_default_username
auth_app.User._default_manager.get(username=default_username)
File "C:\python39\lib\site-packages\django\db\models\manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "C:\python39\lib\site-packages\django\db\models\query.py", line 425, in get
num = len(clone)
File "C:\python39\lib\site-packages\django\db\models\query.py", line 269, in __len__
self._fetch_all()
File "C:\python39\lib\site-packages\django\db\models\query.py", line 1308, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "C:\python39\lib\site-packages\django\db\models\query.py", line 53, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "C:\python39\lib\site-packages\django\db\models\sql\compiler.py", line 1156, in execute_sql
cursor.execute(sql, params)
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 98, in execute
return super().execute(sql, params)
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "C:\python39\lib\site-packages\django\db\utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "C:\python39\lib\site-packages\django\db\backends\sqlite3\base.py", line 413, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: auth_user
계정을 만들기 전에 migrate
를 해 주시기 때문에 다음 명령으로 migrate
합니다.
python manage.py migrate
$ python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
성공했습니다.
기본적으로 db.sqlite3에 테이블이 작성됩니다.
이 설정은 setting.py
아래에 설명되어 있습니다.
setting.py# Database
# https://docs.djangoproject.com/en/3.1/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
덧붙여서 db.sqlite3
는 이러한 느낌으로 테이블이 작성되고 있습니다.
테이블이 생성되었으므로 다시 사용자를 만듭니다.
python manage.py createsuperuser
사용자 이름, 이메일 주소, 비밀번호를 입력합니다.
메일 주소는 미등록이라도 괜찮은 것 같습니다.
이제 계정을 만들 수 있었습니다.
로그인
계정을 만들었으므로 로그인합니다.
기본적으로 그룹과 사용자를 설정하는 기능을 사용할 수 있는 것 같습니다.
그룹을 설정할 때의 권한도 많이 있군요.
마지막으로
이번은 여기까지입니다.
DB를 변경하고 관리할 항목을 늘리는 것은 다음과 같은 경우에도 가능합니다.
Reference
이 문제에 관하여(【Python】 Django에서 재생 (관리 화면)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomcat666/items/a54593efaa2656410a39
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
다음 명령으로 계정을 만들 수 있습니다.
python manage.py createsuperuser
그러자 뭔가 오류를 뱉었습니다 ...
$ python manage.py createsuperuser
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
Traceback (most recent call last):
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "C:\python39\lib\site-packages\django\db\backends\sqlite3\base.py", line 413, in execute
return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: auth_user
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Works\Dev\Django\demosite\manage.py", line 22, in <module>
main()
File "C:\Works\Dev\Django\demosite\manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "C:\python39\lib\site-packages\django\core\management\__init__.py", line 401, in execute_from_command_line
utility.execute()
File "C:\python39\lib\site-packages\django\core\management\__init__.py", line 395, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\python39\lib\site-packages\django\core\management\base.py", line 330, in run_from_argv
self.execute(*args, **cmd_options)
File "C:\python39\lib\site-packages\django\contrib\auth\management\commands\createsuperuser.py", line 79, in execute
return super().execute(*args, **options)
File "C:\python39\lib\site-packages\django\core\management\base.py", line 371, in execute
output = self.handle(*args, **options)
File "C:\python39\lib\site-packages\django\contrib\auth\management\commands\createsuperuser.py", line 100, in handle
default_username = get_default_username()
File "C:\python39\lib\site-packages\django\contrib\auth\management\__init__.py", line 140, in get_default_username
auth_app.User._default_manager.get(username=default_username)
File "C:\python39\lib\site-packages\django\db\models\manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "C:\python39\lib\site-packages\django\db\models\query.py", line 425, in get
num = len(clone)
File "C:\python39\lib\site-packages\django\db\models\query.py", line 269, in __len__
self._fetch_all()
File "C:\python39\lib\site-packages\django\db\models\query.py", line 1308, in _fetch_all
self._result_cache = list(self._iterable_class(self))
File "C:\python39\lib\site-packages\django\db\models\query.py", line 53, in __iter__
results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
File "C:\python39\lib\site-packages\django\db\models\sql\compiler.py", line 1156, in execute_sql
cursor.execute(sql, params)
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 98, in execute
return super().execute(sql, params)
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 66, in execute
return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 75, in _execute_with_wrappers
return executor(sql, params, many, context)
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "C:\python39\lib\site-packages\django\db\utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "C:\python39\lib\site-packages\django\db\backends\utils.py", line 84, in _execute
return self.cursor.execute(sql, params)
File "C:\python39\lib\site-packages\django\db\backends\sqlite3\base.py", line 413, in execute
return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: auth_user
계정을 만들기 전에
migrate
를 해 주시기 때문에 다음 명령으로 migrate
합니다.python manage.py migrate
$ python manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying sessions.0001_initial... OK
성공했습니다.
기본적으로 db.sqlite3에 테이블이 작성됩니다.
이 설정은
setting.py
아래에 설명되어 있습니다.setting.py
# Database
# https://docs.djangoproject.com/en/3.1/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
덧붙여서
db.sqlite3
는 이러한 느낌으로 테이블이 작성되고 있습니다.테이블이 생성되었으므로 다시 사용자를 만듭니다.
python manage.py createsuperuser
사용자 이름, 이메일 주소, 비밀번호를 입력합니다.
메일 주소는 미등록이라도 괜찮은 것 같습니다.
이제 계정을 만들 수 있었습니다.
로그인
계정을 만들었으므로 로그인합니다.
기본적으로 그룹과 사용자를 설정하는 기능을 사용할 수 있는 것 같습니다.
그룹을 설정할 때의 권한도 많이 있군요.
마지막으로
이번은 여기까지입니다.
DB를 변경하고 관리할 항목을 늘리는 것은 다음과 같은 경우에도 가능합니다.
Reference
이 문제에 관하여(【Python】 Django에서 재생 (관리 화면)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomcat666/items/a54593efaa2656410a39
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이번은 여기까지입니다.
DB를 변경하고 관리할 항목을 늘리는 것은 다음과 같은 경우에도 가능합니다.
Reference
이 문제에 관하여(【Python】 Django에서 재생 (관리 화면)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tomcat666/items/a54593efaa2656410a39텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)