UDR 멘토링 2주차-1

오종찬·2022년 10월 8일
0

UDR 멘토링

목록 보기
3/10

5강 학사관리프로그램 만들기-I

https://www.youtube.com/watch?v=9l4v2AerrDY

6강 학사관리프로그램 만들기-II

https://www.youtube.com/watch?v=S8kAi_TyE9c&t=932s

5강 학사관리프로그램

1. 웹 애플리케이션 설계

redirection: 정보를 수정하고 template로 보여줄 필요가 없이 바로 다른 url로 넘어가기 위해 사용

2. 프로젝트 생성

cd C:\Django\project

django-admin startproject studentsProject

move studentsProject sProject

3. 애플리케이션 생성

python manage.py startapp students

4. 프로젝트 설정 변경

settings.py에서 'students.apps.StudentsConfig',
TIME_ZONE'UTC' -> 'Asia/Seoul'

5. 데이터베이스 만들기(models.py)

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

6. 관리자 계정 생성 및 웹서버 실행

관리자 계정 생성
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/ 관리자 페이지 접속

6강 학사관리프로그램 2

1. 학생 등록 페이지

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')

학생 등록 페이지

Title

Register Student

{% csrf_token %} name :
major :
age :
grade :
gender :

2. 학생 등록 리스트 확인, 수정, 삭제, 신규등록 페이지

학생 등록 페이지 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

profile
평범한 대학생의 공부내용

0개의 댓글