일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- grafana dashboard
- c3 step graph
- 백준
- c3 축 가리기
- c3 second
- InfluxDB
- c3 축 없애기
- python subprocess
- 1697
- centos pyhon 설치
- 정규식 컴파일
- snmp
- 정규식 활용
- c++ 정규식
- semanage
- gcc regex
- regex_search
- c3 초
- g++ 업데이트
- python popen
- telegraf
- CentOS7
- 정규식 문자열 출력
- influxdb 설치
- python os
- gcc 업데이트
- selinux port 등록
- linux시간으로 변경
- snmp test
- subporcess path
- Today
- Total
리셋 되지 말자
[점프 투 장고] 장고 관리자 본문
슈퍼유저
장고 관리자를 사용하기 위해서는 장고 관리자 화면에 접속할 수 있는 슈퍼유저(superuser)를 먼저 생성해야 한다.
$ python manage.py createsuperuser
사용자 이름: admin
이메일 주소: rudwns273@naver.com
Password:
Password (again):
Superuser created successfully.
장고 관리자 화면
슈퍼유저 생성 후, 서버를 시작한 뒤에 localhost:8000/admin 페이지로 접속한다.
createsuperuser에서 생성한 정보로 로그인한다.
모델 관리
미리 생성해둔 Question 모델을 어드민에 등록해본다.
pybo앱의 디렉토리에서 admin.py에 Question 모델을 등록한다.
from django.contrib import admin
from .models import Question
# Register your models here.
admin.site.register(Question)
그리고 admin 페이지를 다시 접속 또는 갱신한다.
위처럼 Pybo에 Question 모델이 추가된 것을 확인할 수 있다.
Question 모델이 admin에 등록되면 이제 장고 관리자 화면에서 Question 모델을 관리할 수 있다. 신규 질문을 생성할 수도 있고 조회, 수정, 삭제도 가능해 진다.
Question 모델에서 "+추가" 버튼을 클릭한다. 아래처럼 Question 모델을 신규로 생성할 수 있는 화면이 나타난다.
저장을 선택하면 아래와 같이 Question 모델 데이터가 추가된다.
모델 검색
관리자 화면에서 제목으로 질문을 검색할 수 있는 기능을 추가해본다.
아래와 같이 pybo/admin.py 파일을 수정한다.
from django.contrib import admin
from .models import Question
# Register your models here.
class QuestionAdmin(admin.ModelAdmin):
search_fileds = ['subject']
admin.site.register(Question)
제목 검색을 위해 search_fields에 'subject'를 추가한다.
이렇게 수정하면 다음처럼 검색기능이 추가된 화면을 볼수 있다.
현재 위의 화면에서는 Question이 Question object(1)로 표시되는데, 여기서 1은 Question 데이터의 id에 해당된다.
아래와 같이 Question 모델에 __str__ 메서드를 추가하면 id대신 제목을 표시하도록 할 수 있다.
from django.db import models
# Create your models here.
class Question(models.Model):
subject = models.CharField(max_length=200)
content = models.TextField()
create_date = models.DateTimeField()
def __str__(self):
return self.subject
class Answer(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
content = models.TextField()
create_date = models.DateTimeField()
모델에 메서드가 추가될 경우에는 makemigrations와 migrate를 수행할 필요는 없다. migrate가 필요한 경우는 모델의 '속성'이 변경되었을 때뿐이다.
장고 관리자의 더 많은 기능들은 다음 URL을 참조
https://docs.djangoproject.com/en/3.0/ref/contrib/admin/
'Django' 카테고리의 다른 글
[점프 투 장고] URL과 네임스페이스 (0) | 2020.12.01 |
---|---|
[점프 투 장고] 조회와 템플릿 (0) | 2020.12.01 |
[점프 투 장고] model (0) | 2020.12.01 |
[점프 투 장고] url과 view (0) | 2020.12.01 |
[점프 투 장고] 프로젝트 생성 (0) | 2020.12.01 |