목록웹프로그래밍/Django (81)

수학과의 좌충우돌 프로그래밍

[Django] 10. 회원가입,로그인,로그아웃 구현하기

안녕하세요 강민성입니다. 이번 시간에는 회원가입과 로그인, 로그아웃 기능을 구현해보도록 하겠습니다. 이 기능들은 고맙게도 장고에서 제공을 해주고 있기 때문에 이 함수들을 가져다가 쉽게 구현할 수 있습니다. 그리고 실습을 시작하기 전에 알아야 하는 개념이 있습니다. 바로 http method인데 가볍게 짚고 넘어가도록 하겠습니다. http 상에서 정보를 주고 받는 방식 http 상에서 정보를 주고 받는 방식은 여러 개 존재합니다. 정보를 주고 받는 방식을 굳이 나눈 이유는 무엇일까요? 아래 코드는 blog app 에서 글을 쓰는 입력창에 해당하는 html 입니다. method를 따로 지정하지 않고 form으로 넘겨주면 GET방식으로 넘어오기에, views에서도 GET 을 사용하여 정보를 받아주고 있습니다...

웹프로그래밍/Django 2019. 2. 27. 00:37
[Django] 효율적인 url 관리

안녕하세요 강민성입니다. 저번 시간 까지 blog 프로젝트를 진행하였는데 이번 포스팅에서도 이를 베이스로 진행하도록 하겠습니다. 현재까지 project의 urls 를 확인해보면 다음과 같습니다. 아직 앱은 두 개 밖에 만들지 않았고, 하나의 앱은 url도 하나밖에 설정하지 않았습니다. 하지만 점점 복잡해지고, 앱이 추가될수록 복잡함은 더 심해질 것입니다. 그래서 url 을 효율적으로 관리하는 방법이 있습니다. 이를 알아보도록 하겠습니다. url 을 효율적으로 관리해보자 다시 한 번 urls 을 봐보도록 하겠습니다. 12~14 번째 줄을 보면 blog/~~ 를 가지는 url 로서 맨 앞에 blog 라는 공통적인 특징이 있습니다. 이들을 하나로 묶어줄 수는 없을까요? 그러기 위해서는 묶어주고 싶은 앱 안에 ..

웹프로그래밍/Django 2019. 2. 26. 01:17
[Django] class has no objects member 에러

안녕하세요 강민성입니다. 현재 vs code 에서 django 공부를 하고 있는데, 분명히 코드가 문제 없음에도 불구하고 계속 오류가 납니다. 바로 class has no objects member 라는 오류가 말이죠. 그 원인과 해결방법을 소개해드리겠습니다. class has no objects member 해결하기 우선 다음과 같은 빨간 줄은 굉장히 신경쓰이지만 실제로 서버를 실행시켜보면 아무런 문제없이 서버가 돌아가는 것을 알 수 있을 겁니다. 그 이유는 이는 오류가 아닌 vs code의 경고이기 때문입니다. django의 경우에는, objects 와 같은 속성들을 모든 model 클래스에 동적으로 추가합니다. 따라서 vs code는 이를 눈치채지 못하기 때문에 경고를 하게 되는 것이죠. 해결하는 ..

웹프로그래밍/Django 2019. 2. 25. 23:45
[Django] 07. 글쓰는 기능 구현하기

안녕하세요 강민성입니다. 저번 시간까지 배웠던 내용을 기초로 하여 blog의 기능들을 만들어보도록 하겠습니다. 지난 시간 배웠던 내용을 확인하려면 여기를 클릭하세요. 다만, 이 부분에서 다루는 내용은 html 이나 css 가 아니므로 bootstrap을 사용하도록 하겠습니다. bootstrap을 통해 원하시는 대로 꾸미면 되겠습니다. 제 결과물은 다음과 같습니다. 본격적으로 오늘 배울 내용에 대해서 알아보겠습니다. 현재 블로그의 글들은 제가 admin 페이지가 들어가서 만든 글들입니다. 그렇게 때문에 blog 관리자인 저는 글을 쓸 수 있지만, 이용자들을 아직 글을 쓸 수 없습니다. 그래서 이 기능을 추가해보도록 하겠습니다. 이용자도 글을 작성할 수 있도록 해보자 사용자가 게시물의 정보를 기입하는 htm..

웹프로그래밍/Django 2019. 2. 25. 02:41
[Django] 06.pk, path converter, get_object_or_404란?

안녕하세요 강민성입니다. 이번에는 저번 시간부터 만들어오던 blog 프로젝트를 좀 더 업그레이드 시켜보도록 하겠습니다. 먼저 업그레이드 내용부터 알아보도록 하겠습니다. 1. 글자 수 제한 2. ...more 에 링크 달기 3. 링크를 클릭했을 때 detail.html 페이지 내보내기 pk, path converter, get_object_or_404란? 글자 수를 제한하기 위해, 그리고 실습 진행을 위해 admin에서 여러 개의 blog 객체를 만들어 놨습니다. 1. 글자수 제한 글자수 제한부터 해보도록 하겠습니다. 글자를 제한하는 건 모델에 함수 하나만 추가해주면 됩니다. 함수를 만들고 본문 내용 body를 슬라이싱을 이용해서 100글자로 제한하였습니다. 그리고 home.html 을 다음과 같이 수정해..

웹프로그래밍/Django 2019. 2. 24. 16:50
[Django] 05. queryset 과 method

안녕하세요 강민성입니다. 저번 시간에는 models에 대해서 알아보았습니다. models 에서는 어떤 데이터를 다룰지 알려주는 법과 이를 데이터베이스와 연동하는 것도 알아보았습니다. 이번에는 이 데이터를 어떻게 화면에 가져올지 알아보도록 하겠습니다. queryset 과 method 아쉽게도 models 에 있는 내용을 화면에 바로 가져오지는 못합니다. 중간에 views 를 거쳐서 가져와야 하는데 그 과정을 알아보도록 하겠습니다. 먼저 저번 시간에 만들었던 model.py 부터 확인해보겠습니다. 자세한 설명은 여기를 클릭해주세요. 이번에는 모델의 내용을 불러오기 위해서 views.py를 작성해도록 하겠습니다. models 에 있는 Blog 클래스를 먼저 import 해주고, 그 Blog에서 objects ..

웹프로그래밍/Django 2019. 2. 24. 02:45
[Django] 04. model 과 admin

안녕하세요 강민성입니다. 이번에는 model 과 admin 을 배워보도록 하겠습니다. model 은 django가 데이터베이스를 관리하게끔 해주고 admin 은 이런 model을 관리하는 역할을 합니다. 이제 이들에 대해서 자세히 알아보겠습니다. model 과 admin 을 알아보자 기본 세팅 및 복습 새로운 디렉토리에서 실습을 진행하겠습니다. 그리고 이번 실습부터는 앞의 내용과 겹치는 부분은 과감하게 생략하고 넘어가겠습니다. 가상환경을 켜고 secondproject 라는 이름의 project를 만들고, blog 라는 앱을 만들고, setting.py 에 앱을 등록해주었습니다. 현재 진행상황은 다음과 같습니다. 원하는 데이터 등록 이제는 blog 앱 안에 있는 models.py 로 가서 우리가 처리하고 ..

웹프로그래밍/Django 2019. 2. 14. 02:30
[Django] 템플릿 언어에 대해 알아보자.

안녕하세요 강민성입니다. 이번에는 템플릿 언어에 대해서 알아보도록 하겠습니다. 템플릿 언어에 대해서 알아보자 먼저 템플릿 언어가 무엇인지 부터 알아봅시다. 템플릿 언어란 파이썬 변수 및 문법을 html 안에서 쓸 수 있도록 장고에서 제공해주는 언어입니다. 그렇게 때문에 html 와도 다르고 파이썬과도 조금 다릅니다. 하지만 직관적으로 언어가 구성되어 있고 어렵지 않기 때문에 함께 알아보도록 합시다. 변수 변수를 템플릿 언어로 쓰기 위해서는 {{ 변수 }} , 다음과 같은 형태로 표현합니다. 일반적인 변수들과 같이 띄어쓰기는 허용이 안되며 _ 와 대소문자를 이용해서 표현을 해줍니다. 또한 ' . ' 을 이용해서 변수의 속성으로 접근할 수 있습니다. 예들 들면 blog 라는 변수의 title 속성으로 접근하..

웹프로그래밍/Django 2019. 2. 14. 00:13