--settings=[테스트 환경 설정 정보] 접속 및 테스트 수행 관련 정보를 작성 한 설정 파일이다.
python runtests.py --settings=test_tibero
#특정 테스트 스위트만 수행 하고 자 할때
python runtests.py --settings=test_tibero generic_relations
#수행된 SQL 정보를 확인하고 싶다면 --debug-sql 옵션을 추가 합니다.
./runtests.py --settings=test_tibero queries --debug-sql
#--verbosity=3 옵션을 적용 하면 현재 테스트 진행중인 SQL 실행 내역을 실시간으로 확인 가능 합니다.
./runtests.py --settings=test_tibero queries --debug-sql --verbosity=3
(v_djangoenv) [django@my-rocky9.4:/home/django/django/tests]$ python runtests.py --settings=test_tibero generic_relations Testing against Django installed in '/home/django/v_djangoenv/lib/python3.10/site-packages/django' with up to 4 processes Found 82 test(s). Creating test database for alias 'default'... Creating test user... System check identified no issues (0 silenced).
Running tests... ---------------------------------------------------------------------- test_absolute_max (generic_relations.test_forms.GenericInlineFormsetTests) ... ok (0.098s) test_absolute_max_with_max_num (generic_relations.test_forms.GenericInlineFormsetTests) ... ok (0.006s) test_can_delete_extra (generic_relations.test_forms.GenericInlineFormsetTests) ... ok (0.001s) test_disable_delete_extra (generic_relations.test_forms.GenericInlineFormsetTests) ... ok (0.001s)
---------------------------------------------------------------------- Ran 82 tests in 1.110s
OK
Generating XML reports... Generated XML report: /home/django/django/tests/output/xunit/TEST-generic_relations.test_forms.GenericInlineFormsetTests-20250312185624.xml Generated XML report: /home/django/django/tests/output/xunit/TEST-generic_relations.tests.GenericRelationsTests-20250312185624.xml Generated XML report: /home/django/django/tests/output/xunit/TEST-generic_relations.tests.ProxyRelatedModelTest-20250312185624.xml Generated XML report: /home/django/django/tests/output/xunit/TEST-generic_relations.tests.TestInitWithNoneArgument-20250312185624.xml Destroying test database for alias 'default'... Destroying test user... Destroying test database tables...
./runtests.py --help 를 통해 보다 다양한 옵션에 대한 사용법에 대해 알아 볼수 있다.
Django UnitTest 결과 확인
테스트 수행 결과를 확인하기 위해서는 xmlrunner 패키지를 추가해서 테스트를 진행하면 된다.
테스트 수행이 완료되면 TEST_OUTPUT_DIR 로 설정한 디렉토리에 xml 파일로 Reporting 결과가 남고
junit2html 팩키지를 통해 xml 파일을 html 파일로 변경 하면 가독성면에서 테스터가 결과를 한눈에 확인 가능 하다.
또한 allure 팩키지를 사용 하면 html 파일 보다 더욱 가독성있게 테스트결과를 한눈에 확인 가능 하다 (추천)
PyCharm 을 실행후 File -> open -> DjangoSample 프로젝트를 오픈합니다.
파이썬 가상 환경 생성
파이썬 가상 환경은 파이썬 프로젝트를 진행할 때 독립된 환경을 제공해주는 도구 입니다.
각각의 어플리케이션마다 구동 환경이 다를 경우 별도의 환경을 개별 적으로 만들어 줄수 있습니다. 예를 들어 첫번째 어플리케이션은 파이썬 2.7 버전 + Django3.x 환경으로 구성하고 두번째 어플리케이션은 파이썬 3.7 버전 + Django4.x 버전으로 환경으로 독립적으로 구성해서 개발을 진행 할수 있습니다.
app1 : venv1(파이썬 2.7 버전 + Django3.x)
app2 : venv2(파이썬 3.7 버전 + Django4.x )
가상환경을 만드는 방법에 대해 알아보겠습니다.
파이참을 실행하면 화면 하단에 Terminal 이란 창이 있습니다.
해당 창은 윈도우 CMD 창에서 작업을 진행 하는 내용과 동일 하게 수행 할수 있는 기능 입니다.
D:\ 에 가상환경을 만들어 보겠습니다.
python -m venv samples 명령을 통해 가상 환경을 만듭니다.
cd D:\
mkdir venvs
cd venvs
python -m venv samples
python -m venvsamples 수행 후 samples 라는 디렉 토리가 생기고 samples 디렉토리 내에는 가상화 할수 있는 환경 파일들이 추가 생성 되게 됩니다.
activate 명령을 통해 가상환경에 진입합니다. 반대로 빠져 나오고자 할때는 deactivate 명령을 수행 합니다.
(samples) D:\TestLink-django\DjangoSample>python manage.py runserver Watching for file changes with StatReloader Exception in thread django-main-thread: Traceback (most recent call last): File "D:\venvs\samples\lib\site-packages\django\db\utils.py", line 110, in load_backend return import_module('%s.base' % backend_name) File "C:\Users\jungki\AppData\Local\Programs\Python\Python37\lib\importlib\__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked ModuleNotFoundError: No module named 'django.db.backends.tibero'
.................... .............. ........... 중략 ........... ........... class AbstractBaseUser(models.Model): File "D:\venvs\samples\lib\site-packages\django\db\models\base.py", line 117, in __new__ new_class.add_to_class('_meta', Options(meta, app_label)) File "D:\venvs\samples\lib\site-packages\django\db\models\base.py", line 321, in add_to_class value.contribute_to_class(cls, name) File "D:\venvs\samples\lib\site-packages\django\db\models\options.py", line 204, in contribute_to_class self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) File "D:\venvs\samples\lib\site-packages\django\db\__init__.py", line 28, in __getattr__ return getattr(connections[DEFAULT_DB_ALIAS], item) File "D:\venvs\samples\lib\site-packages\django\db\utils.py", line 201, in __getitem__ backend = load_backend(db['ENGINE']) File "D:\venvs\samples\lib\site-packages\django\db\utils.py", line 125, in load_backend ) from e_user django.core.exceptions.ImproperlyConfigured: 'django.db.backends.tibero' isn't an available database backend. Try using 'django.db.backends.XXX', where XXX is one of: 'mysql', 'oracle', 'postgresql', 'sqlite3'
Starting development server at http://127.0.0.1:8000/ 라는 메시지가 나오면 정상 적으로 어플리케이션이 구동한 상태입니다.
웹에서 http://127.0.0.1:8000/admin 접속 합니다.
에러가 발생 할 것입니다.
Django FrameWork 에서 사용 되는 Table 들이 없어서 발생하는 문제입니다.
어플리케이션 수행시 (python manage.py runserver ) 내용을 좀더 자세히 보겠습니다.
친절하게 python manage.py migrate 수행하라고 설명해 주고 있습니다.
(samples) D:\TestLink-django\dqaDjangoSample>python manage.py runserver Watching for file changes with StatReloader Performing system checks...
System check identified no issues (0 silenced).
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, polls, sessions. Run 'python manage.py migrate' to apply them. April 06, 2022 - 20:38:15
python manage.py migrate 수행
해당 명령을 수행하면 django framework 에서 필요로 하는 여러 테이블들을 Tibero 서버에 자동으로 생성을 해주게 됩니다.
(samples) D:\TestLink-django\dqaDjangoSample>python manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, polls, 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 polls.0001_initial... OK Applying sessions.0001_initial... OK
Tibero 계정 생성된 테이블 확인
SQL> ls
NAME SUBNAME TYPE ---------------------------------- ------------------------ -------------------- AUTH_GROUP_GROUP_ID_B120CBF9 INDEX AUTH_GROUP_PERMISSION_84C5C92E INDEX AUTH_GROU_GROUP_ID__0CD325B0_U INDEX AUTH_PERMI_CONTENT_TY_2F476E4B INDEX AUTH_PERM_CONTENT_T_01AB375A_U INDEX AUTH_USER_USER_ID_G_94350C0C_U INDEX AUTH_USER_USER_ID_P_14A6B632_U INDEX AUTH_USER__GROUP_ID_97559544 INDEX AUTH_USER__PERMISSION_1FBB5F2C INDEX AUTH_USER__USER_ID_6A12ED8B INDEX AUTH_USER__USER_ID_A95EAD1B INDEX DJANGO_ADM_CONTENT_TY_C4BCE8EB INDEX DJANGO_ADM_USER_ID_C564EBA6 INDEX DJANGO_CO_APP_LABEL_76BD3D3B_U INDEX DJANGO_SES_EXPIRE_DAT_A5C62663 INDEX POLLS_CHOI_QUESTION_I_C5B4B260 INDEX _TIBERO_CON58500778 INDEX _TIBERO_CON58800226 INDEX _TIBERO_CON59100508 INDEX _TIBERO_CON59400665 INDEX _TIBERO_CON59500888 INDEX _TIBERO_CON59700316 INDEX _TIBERO_CON60100546 INDEX _TIBERO_CON60500165 INDEX _TIBERO_CON61200100 INDEX _TIBERO_CON61600781 INDEX _TIBERO_CON63100670 INDEX _TIBERO_CON63900727 INDEX _TIBERO_CON64200758 INDEX _TIBERO_CON64700708 INDEX _TIBERO_LIDX344900 INDEX _TIBERO_LIDX345100 INDEX _TIBERO_LIDX346800 INDEX AUTH_GROUP_PERMISSIONS_SQ SEQUENCE AUTH_GROUP_SQ SEQUENCE AUTH_PERMISSION_SQ SEQUENCE AUTH_USER_GROUPS_SQ SEQUENCE AUTH_USER_SQ SEQUENCE AUTH_USER_USER_PERMISSIONS_SQ SEQUENCE DJANGO_ADMIN_LOG_SQ SEQUENCE DJANGO_CONTENT_TYPE_SQ SEQUENCE DJANGO_MIGRATIONS_SQ SEQUENCE POLLS_CHOICE_SQ SEQUENCE POLLS_QUESTION_SQ SEQUENCE AUTH_GROUP TABLE AUTH_GROUP_PERMISSIONS TABLE AUTH_PERMISSION TABLE AUTH_USER TABLE AUTH_USER_GROUPS TABLE AUTH_USER_USER_PERMISSIONS TABLE DJANGO_ADMIN_LOG TABLE DJANGO_CONTENT_TYPE TABLE DJANGO_MIGRATIONS TABLE DJANGO_SESSION TABLE POLLS_CHOICE TABLE POLLS_QUESTION TABLE AUTH_GROUP_PERMISSIONS_TR TRIGGER AUTH_GROUP_TR TRIGGER AUTH_PERMISSION_TR TRIGGER AUTH_USER_GROUPS_TR TRIGGER AUTH_USER_TR TRIGGER AUTH_USER_USER_PERMISSIONS_TR TRIGGER DJANGO_ADMIN_LOG_TR TRIGGER DJANGO_CONTENT_TYPE_TR TRIGGER DJANGO_MIGRATIONS_TR TRIGGER POLLS_CHOICE_TR TRIGGER POLLS_QUESTION_TR TRIGGER
Django admin(테스트 계정 생성)
Django admin 에 접속 하려면 user 를 만들어 줘야 합니다.
admin 유저를 생성 하겠습니다.
python manage.py createsuperuser 명령을 통해 admin 유저의 계정과 비번을 생성 하겠습니다.
testuser1 이라는 계정을 만들겠습니다.
(samples) D:\TestLink-django\dqaDjangoSample>python manage.py createsuperuser Username (leave blank to use ''): testuser1 Email address: testuser1@example.com Password: Password (again): Superuser created successfully.
생성된 user 로 접속 - URL (http://127.0.0.1:8000/admin)
user 미생성 시 접속 불가
user 생성후 접속
Django Admin 설문 작성(Polls) 테스트
Questions: 설문지 제목
Choices : 설문지 선택 내용 작성
Questions 버튼을 눌러서 설문할 주제를 작성합니다.
Choices 버튼을 눌러서 선택지를 작성합니다
테스를 위해 3개은 선택지를 만들었습니다.
설문 작성이 완료 되었고 이제 설문 페이지에 접속 해서 등록된 내용이 잘 나오는지 확인해 보겠습니다.
(djangoenv) [django@centos7:/home/django/venvs]$ python manage.py runserver 0.0.0.0:8000 Watching for file changes with StatReloader Performing system checks...
System check identified no issues (0 silenced). April 08, 2022 - 07:53:32 Django version 2.2.24, using settings 'dqaDjangoSample.settings' Starting development server at http://0.0.0.0:8000/ Quit the server with CONTROL-C. [08/Apr/2022 07:53:34] "GET /admin/ HTTP/1.1" 200 7031 [08/Apr/2022 07:53:35] "GET /static/admin/css/responsive.css HTTP/1.1" 200 17944 [08/Apr/2022 07:53:35] "GET /static/admin/css/base.css HTTP/1.1" 200 16378 [08/Apr/2022 07:53:35] "GET /static/admin/css/dashboard.css HTTP/1.1" 200 412 [08/Apr/2022 07:53:35] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423 [08/Apr/2022 07:53:35] "GET /static/admin/img/icon-deletelink.svg HTTP/1.1" 200 392 [08/Apr/2022 07:53:35] "GET /static/admin/img/icon-addlink.svg HTTP/1.1" 200 331 [08/Apr/2022 07:53:35] "GET /static/admin/img/icon-changelink.svg HTTP/1.1" 200 380 [08/Apr/2022 07:53:35] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 85692 [08/Apr/2022 07:53:35] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 86184 [08/Apr/2022 07:53:35] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 85876
PyCharm 을 실행후 File -> open -> DjangoSample 프로젝트를 오픈합니다.
파이썬 가상 환경 생성
파이썬 가상 환경은 파이썬 프로젝트를 진행할 때 독립된 환경을 제공해주는 도구 입니다.
각각의 어플리케이션마다 구동 환경이 다를 경우 별도의 환경을 개별 적으로 만들어 줄수 있습니다. 예를 들어 첫번째 어플리케이션은 파이썬 2.7 버전 + Django3.x 환경으로 구성하고 두번째 어플리케이션은 파이썬 3.7 버전 + Django4.x 버전으로 환경으로 독립적으로 구성해서 개발을 진행 할수 있습니다.
app1 : venv1(파이썬 2.7 버전 + Django3.x)
app2 : venv2(파이썬 3.7 버전 + Django4.x )
가상환경을 만드는 방법에 대해 알아보겠습니다.
파이참을 실행하면 화면 하단에 Terminal 이란 창이 있습니다.
해당 창은 윈도우 CMD 창에서 작업을 진행 하는 내용과 동일 하게 수행 할수 있는 기능 입니다.
D:\ 에 가상환경을 만들어 보겠습니다.
python -m venv samples 명령을 통해 가상 환경을 만듭니다.
cd D:\
mkdir venvs
cd venvs
python -m venv samples
python -m venvsamples 수행 후 samples 라는 디렉 토리가 생기고 samples 디렉토리 내에는 가상화 할수 있는 환경 파일들이 추가 생성 되게 됩니다.
activate 명령을 통해 가상환경에 진입합니다. 반대로 빠져 나오고자 할때는 deactivate 명령을 수행 합니다.
(samples) D:\TestLink-django\DjangoSample>python manage.py runserver Watching for file changes with StatReloader Exception in thread django-main-thread: Traceback (most recent call last): File "D:\venvs\samples\lib\site-packages\django\db\utils.py", line 110, in load_backend return import_module('%s.base' % backend_name) File "C:\Users\jungki\AppData\Local\Programs\Python\Python37\lib\importlib\__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1006, in _gcd_import File "<frozen importlib._bootstrap>", line 983, in _find_and_load File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked ModuleNotFoundError: No module named 'django.db.backends.tibero'
.................... .............. ........... 중략 ........... ........... class AbstractBaseUser(models.Model): File "D:\venvs\samples\lib\site-packages\django\db\models\base.py", line 117, in __new__ new_class.add_to_class('_meta', Options(meta, app_label)) File "D:\venvs\samples\lib\site-packages\django\db\models\base.py", line 321, in add_to_class value.contribute_to_class(cls, name) File "D:\venvs\samples\lib\site-packages\django\db\models\options.py", line 204, in contribute_to_class self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) File "D:\venvs\samples\lib\site-packages\django\db\__init__.py", line 28, in __getattr__ return getattr(connections[DEFAULT_DB_ALIAS], item) File "D:\venvs\samples\lib\site-packages\django\db\utils.py", line 201, in __getitem__ backend = load_backend(db['ENGINE']) File "D:\venvs\samples\lib\site-packages\django\db\utils.py", line 125, in load_backend ) from e_user django.core.exceptions.ImproperlyConfigured: 'django.db.backends.tibero' isn't an available database backend. Try using 'django.db.backends.XXX', where XXX is one of: 'mysql', 'oracle', 'postgresql', 'sqlite3'
Starting development server at http://127.0.0.1:8000/ 라는 메시지가 나오면 정상 적으로 어플리케이션이 구동한 상태입니다.
웹에서 http://127.0.0.1:8000/admin 접속 합니다.
에러가 발생 할 것입니다.
Django FrameWork 에서 사용 되는 Table 들이 없어서 발생하는 문제입니다.
어플리케이션 수행시 (python manage.py runserver ) 내용을 좀더 자세히 보겠습니다.
친절하게 python manage.py migrate 수행하라고 설명해 주고 있습니다.
(samples) D:\TestLink-django\dqaDjangoSample>python manage.py runserver Watching for file changes with StatReloader Performing system checks...
System check identified no issues (0 silenced).
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, polls, sessions. Run 'python manage.py migrate' to apply them. April 06, 2022 - 20:38:15
python manage.py migrate 수행
해당 명령을 수행하면 django framework 에서 필요로 하는 여러 테이블들을 Tibero 서버에 자동으로 생성을 해주게 됩니다.
(samples) D:\TestLink-django\dqaDjangoSample>python manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, polls, 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 polls.0001_initial... OK Applying sessions.0001_initial... OK
Tibero 계정 생성된 테이블 확인
SQL> ls
NAME SUBNAME TYPE ---------------------------------- ------------------------ -------------------- AUTH_GROUP_GROUP_ID_B120CBF9 INDEX AUTH_GROUP_PERMISSION_84C5C92E INDEX AUTH_GROU_GROUP_ID__0CD325B0_U INDEX AUTH_PERMI_CONTENT_TY_2F476E4B INDEX AUTH_PERM_CONTENT_T_01AB375A_U INDEX AUTH_USER_USER_ID_G_94350C0C_U INDEX AUTH_USER_USER_ID_P_14A6B632_U INDEX AUTH_USER__GROUP_ID_97559544 INDEX AUTH_USER__PERMISSION_1FBB5F2C INDEX AUTH_USER__USER_ID_6A12ED8B INDEX AUTH_USER__USER_ID_A95EAD1B INDEX DJANGO_ADM_CONTENT_TY_C4BCE8EB INDEX DJANGO_ADM_USER_ID_C564EBA6 INDEX DJANGO_CO_APP_LABEL_76BD3D3B_U INDEX DJANGO_SES_EXPIRE_DAT_A5C62663 INDEX POLLS_CHOI_QUESTION_I_C5B4B260 INDEX _TIBERO_CON58500778 INDEX _TIBERO_CON58800226 INDEX _TIBERO_CON59100508 INDEX _TIBERO_CON59400665 INDEX _TIBERO_CON59500888 INDEX _TIBERO_CON59700316 INDEX _TIBERO_CON60100546 INDEX _TIBERO_CON60500165 INDEX _TIBERO_CON61200100 INDEX _TIBERO_CON61600781 INDEX _TIBERO_CON63100670 INDEX _TIBERO_CON63900727 INDEX _TIBERO_CON64200758 INDEX _TIBERO_CON64700708 INDEX _TIBERO_LIDX344900 INDEX _TIBERO_LIDX345100 INDEX _TIBERO_LIDX346800 INDEX AUTH_GROUP_PERMISSIONS_SQ SEQUENCE AUTH_GROUP_SQ SEQUENCE AUTH_PERMISSION_SQ SEQUENCE AUTH_USER_GROUPS_SQ SEQUENCE AUTH_USER_SQ SEQUENCE AUTH_USER_USER_PERMISSIONS_SQ SEQUENCE DJANGO_ADMIN_LOG_SQ SEQUENCE DJANGO_CONTENT_TYPE_SQ SEQUENCE DJANGO_MIGRATIONS_SQ SEQUENCE POLLS_CHOICE_SQ SEQUENCE POLLS_QUESTION_SQ SEQUENCE AUTH_GROUP TABLE AUTH_GROUP_PERMISSIONS TABLE AUTH_PERMISSION TABLE AUTH_USER TABLE AUTH_USER_GROUPS TABLE AUTH_USER_USER_PERMISSIONS TABLE DJANGO_ADMIN_LOG TABLE DJANGO_CONTENT_TYPE TABLE DJANGO_MIGRATIONS TABLE DJANGO_SESSION TABLE POLLS_CHOICE TABLE POLLS_QUESTION TABLE AUTH_GROUP_PERMISSIONS_TR TRIGGER AUTH_GROUP_TR TRIGGER AUTH_PERMISSION_TR TRIGGER AUTH_USER_GROUPS_TR TRIGGER AUTH_USER_TR TRIGGER AUTH_USER_USER_PERMISSIONS_TR TRIGGER DJANGO_ADMIN_LOG_TR TRIGGER DJANGO_CONTENT_TYPE_TR TRIGGER DJANGO_MIGRATIONS_TR TRIGGER POLLS_CHOICE_TR TRIGGER POLLS_QUESTION_TR TRIGGER
Django admin(테스트 계정 생성)
Django admin 에 접속 하려면 user 를 만들어 줘야 합니다.
admin 유저를 생성 하겠습니다.
python manage.py createsuperuser 명령을 통해 admin 유저의 계정과 비번을 생성 하겠습니다.
testuser1 이라는 계정을 만들겠습니다.
(samples) D:\TestLink-django\dqaDjangoSample>python manage.py createsuperuser Username (leave blank to use ''): testuser1 Email address: testuser1@example.com Password: Password (again): Superuser created successfully.
생성된 user 로 접속 - URL (http://127.0.0.1:8000/admin)
user 미생성 시 접속 불가
user 생성후 접속
Django Admin 설문 작성(Polls) 테스트
Questions: 설문지 제목
Choices : 설문지 선택 내용 작성
Questions 버튼을 눌러서 설문할 주제를 작성합니다.
Choices 버튼을 눌러서 선택지를 작성합니다
테스를 위해 3개은 선택지를 만들었습니다.
설문 작성이 완료 되었고 이제 설문 페이지에 접속 해서 등록된 내용이 잘 나오는지 확인해 보겠습니다.
(djangoenv) [django@centos7:/home/django/venvs]$ python manage.py runserver 0.0.0.0:8000 Watching for file changes with StatReloader Performing system checks...
System check identified no issues (0 silenced). April 08, 2022 - 07:53:32 Django version 2.2.24, using settings 'dqaDjangoSample.settings' Starting development server at http://0.0.0.0:8000/ Quit the server with CONTROL-C. [08/Apr/2022 07:53:34] "GET /admin/ HTTP/1.1" 200 7031 [08/Apr/2022 07:53:35] "GET /static/admin/css/responsive.css HTTP/1.1" 200 17944 [08/Apr/2022 07:53:35] "GET /static/admin/css/base.css HTTP/1.1" 200 16378 [08/Apr/2022 07:53:35] "GET /static/admin/css/dashboard.css HTTP/1.1" 200 412 [08/Apr/2022 07:53:35] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423 [08/Apr/2022 07:53:35] "GET /static/admin/img/icon-deletelink.svg HTTP/1.1" 200 392 [08/Apr/2022 07:53:35] "GET /static/admin/img/icon-addlink.svg HTTP/1.1" 200 331 [08/Apr/2022 07:53:35] "GET /static/admin/img/icon-changelink.svg HTTP/1.1" 200 380 [08/Apr/2022 07:53:35] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 85692 [08/Apr/2022 07:53:35] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 86184 [08/Apr/2022 07:53:35] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 85876