
● 상품 상세보기 product/views.py - 존재하는 모든 상품의 정보를 가져온다. 만약 모든 제품이 아니라 특정 제품만 표시하고싶다면 필터링 지정하면 된다. 어떤식으로 queryset에 저장되는지 궁금해서 출력해봤더니 queryset은 상품의 객체를 리스트 형태로 가져오는 것을 알 수 있다. - 렌더링할 product_detail.html 에 queryset을 전달하는데 'product'라는 이름으로 전달되도록 한다. 만약 context_object_name 을 따로 지정하지 않으면 default 값은 object가 된다. class ProductDetailView(DetailView): template_name = "product_detail.html" queryset = Product.obj..

● 상품 목록 (ListView ver.) product/views.py(ListView) - ListView는 조건에 맞는 여러 개의 객체를 보여준다. 보여주려는 객체(model)를 Product로 정의한다. 그러면 Product 객체의 정보를 QuerySet으로 받아와서 template_name 에 연결된 html로 넘겨준다. class ProductList(ListView): model = Product template_name = 'product_list.html' templates/product_list.html - ProductList 에서 받아온 product 객체 정보는 object_list에 저장된다. 객체리스트에는 여러 개의 product 객체 정보가 담겨있고, 그것을 하나씩 가져와서 ..

● 상품 등록 product/models.py - 상품 등록에 필요한 상품명, 가격, 설명, 재고 수량, 등록시간을 필드로 설정한다. from django.db import models class Product(models.Model): name = models.CharField(max_length = 32, verbose_name="상품명") price = models.IntegerField(verbose_name = "상품가격") description = models.TextField(verbose_name="상품설명") stock = models.IntegerField(verbose_name="재고") registered_date = models.DateTimeField(verbose_name="등..

why return super().form_valid(form) - 항상 return super().form_valid(form)을 왜 하는지 이해를 못했다. ◎ WHY ? class RegisterView(FormView): template_name = 'register.html' form_class = RegisterForm success_url = '/login' def form_valid(self, form): user = Users( email = form.data.get('email'), password = make_password(form.data.get('password')), level = 'user' ) user.save() return super().form_valid(form) 회원..

● 로그인 users/forms.py - 필드를 설정하고 clean을 통해 유효성을 검사한다는 점에서 RegisterForm과 유사한 방식을 갖는다. 하지만, 로그인 폼에서는 존재하는 이메일인지 확인하는 try 와 존재하지 않는 경우의 예외 처리(Users.DoesNotExist) 코드, check_password 를 사용하여 비밀번호를 확인한다. class LoginForm(forms.Form): email = forms.EmailField( error_messages={'required':'이메일을 입력하세요'}, max_length=64, label = "이메일" ) password = forms.CharField( error_messages = {'required' : "비밀번호를 입력하세요"},..

● 홈화면 - 일단 홈화면을 구성한다. 왜냐면 로그인, 로그아웃, 회원가입 등 성공했을 경우 홈화면으로 이동할 수 있도록 하려고.. base.html - bootstrap을 사용하기 위한 파일들 bootstrap.css, jquery.js, popper.js, bootstrap.js을 CDN에서 불러온다. {% block contents%} {% endblock %} home.html - views.py/home 함수에서 전달받은 user 변수를 출력한다. 두 개의 괄호 안에 넣어주는 이유는 html은 코딩적인 기능?이 없다. 그래서 변수를 출력하는 것조차도 html에서는 괄호안에 넣어서 출력해야한다. {%%} 퍼센트 표시가 들어간 것은 좀 더 코딩적인 부분이랄까.... if for else 등 기능적인..

● 프로젝트 폴더 만든 후에, startapp으로 필요한 앱 추가 django-admin startapp users django-admin startapp product django-admin startapp order ● settings.py INSTALLED_APPS 추가 INSTALLED_APPS += [ 'users', 'product', 'order', ] ● 생성된 app 에 대해서 변경사항을 저장하고, DB 생성을 위해서 migrate python manage.py migrate ● 사용자 모델 Users 정의하기 users/models.py - 사용자 모델에 사용자 아이디, 비밀번호, 등록날짜 등 기본적인 필드를 추가한다. - 쇼핑몰의 특성상 모든 사용자가 상품을 등록할 수 없다. 정해진 ..
말은 쇼핑몰이지만 사실은 그냥 제품 등록하고 주문 시스템 구성 정도랄까.. 새롭게 배우게 되는 내용이 많아서 헷갈릴 것 같다. 하지만 다시 정리할 수 있다는 점에서 화이팅,, 이 번에는 github 올리면서 해야지 까먹지 말고 필요한 기능 사용자 users, 상품 등록 product, 주문 정보 order 새로 배우게 되는 내용, 중요한 내용 decorator, class-based-view (클래스형 뷰), 페이지 권한, serializer, DRF(django REST framwork) 등.. 배포 Google Cloud Platform (GCP) 구글 클라우드 플랫폼
- Total
- Today
- Yesterday
- django tag
- django clean
- pythonanywhere배포방법
- django 게시판
- 웹 배포
- iOS 데이터베이스
- ModelForm Form 차이
- CellForRowAt 호출안됨
- 데이터베이스 추천
- iOS 검은 화면
- 장고 게시판
- Firebase 데이터베이스 추천
- UITableViewController Not Working
- python 웹 배포
- Django
- Realtime Database
- django 태그
- django 로그인접근
- iOS UITableView 출력안됨
- 까만 화면
- iOS 화면 안나옴
- cleaned_data
- django 개발일지
- 실시간 데이터베이스
- pythonanywhere배포
- django pythoneverywhere
- 장고 태그달기
- 테이블출력안됨
- 알파벳 카운팅
- CellForRowAt Not Called
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |