https://www.youtube.com/watch?v=9l4v2AerrDY
https://www.youtube.com/watch?v=S8kAi_TyE9c&t=932s
redirection: 정보를 수정하고 template로 보여줄 필요가 없이 바로 다른 url로 넘어가기 위해 사용
cd C:\Django\project
django-admin startproject studentsProject
move studentsProject sProject
python manage.py startapp students
settings.py에서 'students.apps.StudentsConfig',
TIME_ZONE'UTC' -> 'Asia/Seoul'
students/models.py 에서 변경
from django.db import models
class Students(models.Model):
s_name = models.CharField(max_length=100)
s_major = models.CharField(max_length=100)
s_age = models.IntegerField(default = 0)
s_grade = models.IntegerField(default = 0)
s_gender = models.CharField(max_length=30)
def __str__(self):
return self.s_name
admin에 table 적용
from django.contrib import admin
from students.models import Student
admin.stie.register(Student)
명령 프롬프트 창에서
python manage.py makemigrations
python manage.py migrate
관리자 계정 생성
C:\Django\project\sProject>python manage.py createsuperuser
Username (leave blank to use '82109'): ohjongchan
Email address: dhwhdcks@korea.ac.kr
Password:
Password (again):
Superuser created successfully.
웹서버 실행
C:\Django\project\sProject>python manage.py runserver 0.0.0.0:8000 서버 실행
http://127.0.0.1:8000/admin/ 관리자 페이지 접속
url복사해서 어플리케이션에 넣어놓기:
각각의 어플리케이션마다 url이 따로따로 존재해서 구분짓기 쉽고 유지보수에도 용이함
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('students', include('students.urls')),
기존 url에 어플리케이션 마다 넣어놓은 url 연결하기
서버를 실행했을때 오류가 나면 오류를 해결하기까지는 멈춰있다가 오류가 해결되면 자동으로 서버 실행
students에 있는 url에서
from django.urls import path
from . import views
app_name = 'students'
urlpatterns = [
path('reg/', views.regStudent, name='reg'),
path에 해당하는 view 등록
def regStudent(request):
return render(request, 'students/registerStudent.html')
학생 등록 페이지
TitleRegister Student
{% csrf_token %} name :학생 등록 페이지 html에 action 추가
form action="{% url 'students:regCon' %}" method="post"
url에 views.regConStudent 추가
path('regCon/', views.regConStudent, name='regCon'),
views에 regConStudent 추가
def regConStudent(request):
name = request.POST['name']
major = request.POST['major']
age = request.POST['age']
grade = request.POST['grade']
gender = request.POST['gender']
qs = Student(s_name=name, s_major=major, s_age=age, s_grade=grade, s_gender=gender)
qs.save()
return HttpResponseRedirect(reverse('students:stuAll'))
urls에 stuAll 추가
path('all/', views.reaStudentAll, name='stuAll'),
view에 stuAll 생성
def reaStudentAll(request):
qs = Student.objects.all()
context = {'student_list': qs}
return render(request, 'students/readStudents.html', context)
templates에 readStudents.html 생성
모르는 내용
html에 대해 아는 것이 별로 없어서 사이트를 만드는 코드를 만들때 무슨 말인지 이해를 못함
영상에서는 노트패드를 통해 html을 만들었지만 노트패드가 없어서 html을 python을 통해 만드니까 에러 발생
해결 방법:
구글에 "html파일 만드는법" 검색, 아래 사이트를 통해 html코드에 대한 기본적인 내용 및 메모장으로 html파일 만드는법 숙지
http://leebh.net/class/dpub1/html-01.php