분류 전체보기
-
django signup FBV using forms.pyProject using python/Cloning Airbnb 2021. 3. 1. 13:38
Forms.py users/forms.py forms.py에 있는 SignUpForm이다. forms.ModelForm을 상속받는다. 여기서 필수적으로 있어야 하는 code는 class Meta에 있는 model과 fields다. Meta class는 부모 class의 meta 정보를 담고 있다. meta 정보란 하나의 data의 추가적인 정보를 뜻한다. 사진을 예로 든다면, 사진은 색깔과 화소 등의 정보를 가지고 있다. 그리고 사진의 meta 정보란 찍은 장소, 시간 및 keyword나 작가 정보를 가진다. 사진의 필수 정보는 색깔과 화소이고 없어도 되지만 있으면 더 좋은 것을 장소, 시간, keyword와 작가 정보다. Django에서 Meta class는 admin.py를 작성할 때도 많이 볼 수 ..
-
django signup FBVProject using python/Cloning Airbnb 2021. 3. 1. 10:56
url 설정 config/urls.py urlpatterns = [ path("users", include("users.urls", namespace="users")), ] users/urls.py from django.urls import path from . import views app_name = "users" urlpatterns = [path("signup/", views.signUp, name="signup")] {% url %} url template tag를 이용해서 signup page로 갈 수 있게 한다. {% url 'users:signup' %}은 /users/signup과 같다. FBV(Function Based View) users/views.py FBV에서는 if 문으로 GE..
-
tailwind customzingProject using python/Cloning Airbnb 2021. 2. 28. 15:20
Customizing tailwindcss는 정말 많은 정해진 class들이 있다. 하지만 모든 것을 구현하지 않았기에 내가 원하는 detail한 부분의 class가 없을 수가 있다. 대신 새로운 class를 customizing을 할 수 있다. tailwind.config.js에서 새로운 class를 만들면 된다. 만드는 방법도 docs에 자세히 설명되어 있다. grid customizing grid를 customizing하기 위해서 theme: { extend : {} } 부분에 다음과 같이 code를 추가했다. class에 grid-rows-2-300px를 추가하면 minmax(2, 200px)가 적용된다. module.exports = { purge: [], darkMode: false, // o..
-
tailwind css @applyProject using python/Cloning Airbnb 2021. 2. 28. 14:49
@apply core/urls.py tailwindcss를 사용하면서 여러 곳에서 중복되는 class가 있을 것이다. 개발자는 이러한 class를 하나로 묶어서 새로운 class를 생성할 수 있다. 새로운 class를 적용하려면 styles.scss에 @apply를 통해서 적용할 수 있다. 다음은 assets/scss/styles.scss에서 새로이 만든 .nav__link다. @apply를 이용해서 기존에 있던 utility classes를 나의 custom class에 적용할 수 있다. @tailwind base; @tailwind components; .nav_link { @apply font-semibold text-gray-700 hover:border-gray-600 border-b-2 bor..
-
tailwindcss with gulpProject using python/Cloning Airbnb 2021. 2. 28. 14:29
tailwindcss 개요 TailWindCSS란 html에 tailwindcss가 정의한 class 값을 줌으로써 css 효과를 입히는 css framework다. Bootstrap은 web page가 bootstrap으로 만든 것같은 양산형 느낌을 주지만, tailwindcss는 그렇지 않다. tailwindcss settup Installation gulp를 사용해서 tailwindcss를 css code로 변환할 것이다. 설치해야 할 것들은 다음과 같다. $ npm init $ npm i gulp-sass, gulp-postcss, gulp-csso, node-sass, gulp, del gulp를 ES6 code로 작성하기 위해서 babel을 설치해준다. $ npm i @babel/core @b..
-
django static files and header & footerProject using python/Cloning Airbnb 2021. 2. 28. 11:12
Set STATIC_FILES settings.py STATICFILES_DIRS = [BASE_DIR / "static"] template tag인 static을 사용하기 위해서는 settings.py에 위 코드를 추가해줘야 한다. 그러면 static directory에 있는 file들을 사용할 수 있다. {% static %} html 파일 상단에 {% load static %}을 하면 static template tag를 사용할 수 있다. header base.html Search part를 {% block search-bar %}로 감쌌다. 만약 다른 rendering file에서 {% block search-bar %}{% endblock search-bar %}를 하면 base.html 파일에..
-
django FBV homeViewProject using python/Cloning Airbnb 2021. 2. 26. 11:00
urlpattenrs core/urls.py $ django-admin startapp core CBV랑 다 똑같고 path의 두 번째 인자만 다르다. FBV는 CBV와 다르게 .as_view()를 사용하지 않는다. 왜냐하면 homeView 자체가 function이기 때문이다. FBV(Function Based View) rooms/views.py FBV에서는 Paginator를 호출해서 paginator object를 직접 만들어줘야 한다. 그리고 render()를 사용해서 pages/root/home.html을 랜더링한다. from django.shortcuts import render from django.core.paginator import Paginator, EmptyPage from . im..
-
page_number.htmlProject using python/Cloning Airbnb 2021. 2. 26. 10:42
templates mixins/page_number.html page.has_previous : 이전 page를 가지고 있는지 True or False를 반환한다. page.paginator.num_pages : 총 page 수를 반환한다. page.has_next : 다음 page를 가지고 있는지 True or False를 반환한다. template filter : 2 번째 line에 if page_sector|add:-4가 있다. page_sector 오른쪽에 |add:-4는 template filter라고 한다. {%%} 안에서 여러 가지 연산을 할 수 있다. add 이외에도 |make_list 처럼 '12345'를 list로 만들어준다. {% if page.has_previous %} {% if ..