[django 개발 toolBox]장고 admin 페이지 이쁘게 만들기- Django Grappelli 설치하기

Admin 페이지를 간단하게 꾸미는 장고 패키지 중에서 

Django Grappelli 를 설치하는것을 안내해 드립니다.

 

*장고 개발 toolBox는 여러분의 장고 개발시 필요한 유용한 도구들을

찾아 소개해 드립니다.

이글만 보기

[django toolBox] 장고 DEBUG = FALSE 에서 정적 파일과 미디어 읽기

settings.py에서 작업하실때는 디버그의 기본은 debug=True 입니다. 그러나

실제로 서비스를 할때는 보안상 debug=False 로 해서 끕니다. 그러나 이때부터 Django는 더 이상 정적 파일을 처리하지 않습니다.

여러분 호스팅 환경의 웹 서버(Apache 등)가 이를 처리해야 합니다.

그러나 간단하게 다음과 같은 방법도 사용이 가능합니다.

다음의 안내를 따르시면 됩니다. 

1.먼저 debug = False와 Allowed_HOSTS 처리를 합니다. 예시에서는  ALLOWED_HOSTS가 * 이지만, 실제 사용할때는

반드시 여러분의 도메인을 사용합니다. (로칼에서 테스트할때는 locahost또는 IP)

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = False

ALLOWED_HOSTS = ['*']

 

2 settings.py 에서 STATIC_ROOT 와 MEDIA_ROOT 경로를 정의합니다.

 

STATIC_URL = '/static/'

MEDIA_URL = '/media/'

  

if DEBUG:

  STATICFILES_DIRS = [os.path.join(BASE_DIR'static')]

else:

  STATIC_ROOT = os.path.join(BASE_DIR'static')

  

MEDIA_ROOT = os.path.join(BASE_DIR'media')

 

3. 그리고 루트 수준의 urls.py에서(settings.py가 있는 폴더) 정적 URL에서  STATIC_ROOT 와 MEDIA_ROOT 에 연결되도록 다음과 같이 정의합니다.

 
from django.conf.urls import url

from django.conf import settings

from django.views.static import serve

  

urlpatterns = [

  url(r'^media/(?P<path>.*)$'serve,{'document_root'settings.MEDIA_ROOT}),

  url(r'^static/(?P<path>.*)$'serve,{'document_root'settings.STATIC_ROOT}),

]

 

 

또한 여러분은 장고를 실제 서비스 하기 전에 다음의 배포 전 체크리스트를 확인해 보실 것을 추천드립니다.

배포 전 체크리스트(장고 공식 문서)

 

이글만 보기

[django toolBox]파이썬 장고 Taggit을 이용한 태그 검색 기능 구현하기 1

해시태그(hashtag)는 메타데이터 태그로, 해시 기호(#) 뒤에 특정 단어를 쓰면 그 단어에 대한 글을 모아 분류해서 볼 수 있게 합니다.

관련된 내용물을 묶어주는 역할을 해 사용자들이 관심 있는 주제의 내용물을 쉽게 찾을 수 있도록 도와주는데요,

여기서는 이 태그 기능을  django-taggit 을 이용해 손쉽게 구현해 봅니다.

 

작업 목표: 이 사이트에는 강좌, 레슨, 블로그 등이 있다. 이것을 같은 주제로 태그로 연결하게 할 것이다. 하나의 앱의 태그만 아니라 즉 여러앱을 태그로 연결하는 것이다.

 

설치

pip install django-taggit

settings.py

INSTALLED_APPS에 taggit 추가.

# Application definition


INSTALLED_APPS = [
    'taggit'#taggit 추가
]

모델에 필드 추가 예시. 블로그의 경우

 
from taggit.managers import TaggableManager
 
class blogPost(models.Model):
    author = models.ForeignKey(User,on_delete=models.CASCADE)
    title = models.CharField(max_length=30)
    text = HTMLField()
    tags = TaggableManager() #태그 추가
    created_date = models.DateTimeField(default=timezone.now)

    def get_absolute_url(self):
        return reverse("blogs:post_detail"kwargs={"pk"self.pk})
    def __str__(self):
        return self.title

마이그레잇

python manage.py migrate

 

우리는 여러 앱에서 태그를 사용하게 할것이므로 context_processors.py 이용 태그를 글로벌 하게 사용가능하게 해야 한다.

 

 context-processors 는 HttpRequest를 인수로 사용하고 사전형(dict) 반환해준다. 

 

코드의 예시를 보자. 위에서 말한 내용처럼 HttpRequest를 인수로 받으며 우리가 작업할 tag를 dict형을 반환하는 간단한 함수를 제작한다.

 

from taggit.models import Tag

def tags(request):
  return {'tags': Tag.objects.all()}

생성한 함수를 어디서든 불러올 수 있어야하므로 settings.py의 template(template변수로 사용할 것이므로)의 options 아래의 context_processors에 넣어준다.

'OPTIONS': {
            'context_processors': [
                
                'blog.context_processors.tags',#장고 태그 작업 중
                
           ],

태그 입력을 위한 forms.py 작업 예시

 

 

class PostForm(forms.ModelForm):

    text = forms.CharField(
        widget=TinyMCEWidget(
            attrs={'required'False'cols'30'rows'10}
        )
    )

    class Meta:
        modelblogPost
        fields = ['title','text','tags']
        help_texts = {
            'title''글의 제목을 입력하세요',
            'text''글을 적어 주세요',
            'tags''태그 - 관련 주제를 콤마(,)로 구분해 입력해 주세요'
        }
    
    def save_form(selfrequestinstanceformchange):
        user = request.user 
        instance = form.save(commit=False)
        if not change or not instance.author:
            instance.author = user
        instance.modified_by = user
        instance.save()
        form.save_m2m()
        return instance

 

추가로 태그 쿼리를 위한 views.py 작업의 예시도 추가하니 참고해 주세요.

 



class PostListView(ListView):
    context_object_name = 'posts'
    template_name = 'blog/post_list.html'
    #ordering = ['-created_date']
    #model = blogPost

    def get_queryset(self):
        queryset = blogPost.objects.all().order_by('-created_date')
        tag = self.request.GET.get('tag')
        if tag:
            queryset = queryset.filter(tags__name=tag)
        return queryset


 

 

html에 추가

 

이제 준비는 다 끝났다 그대로 가져와 사용만 하면 된다.

 
          <div class="tags">
            {% for tag in tags %}
              <a href="{% url 'blogs:post_list' %}?tag={{tag.name}}"> {{tag.name}}</a>            
            {% endfor %}
          </div>

실전 과제: 이 태그로 이루어진 블로그 외에 강좌와 레슨도 모두 연결해 보세요. 예를 들어 장고라는 태그를 클릭하면

이 블로그 페이지에 블로그와 강좌, 레슨이 모두 연결되어 나오는 로직을 구현해 보세요.

직접 한번 해 보신 후 다음의 2편을 보시길 추천드립니다.

 

이글만 보기

[django toolBox]장고 django-allauth 2 회원가입 이메일 인증 처리

회원가입 인증 이메일을 처리 과정을 장고 올오뜨를 이용해 간단하게 구현해 봅니다.

Django SMTP 설정 

EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = '123@gmail.com'
EMAIL_HOST_PASSWORD = '123'
EMAIL_PORT = 587

 

 django-allauth 셋팅

 

ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = "mandatory"
 
 
 

 

이글만 보기

[django toolBox]장고 django-allauth 1 이용 google login 구현 (Sign in with Google Django) - Django Social Authentication

이글만 보기

완전 무료 호스팅! 운영도 무료 ! 샵투 울트라 쇼핑몰!

대부분 닭장 호스팅 환경들이 미래를 위한 제시를 못하고,

아마존 aws 이나 구글 cloud 이용하면 생각보다 어렵고 ..

트래픽이나 서비스에 대한 추가 요금으로 배움을 위한 투자로 이용하기엔 돈이 자꾸 나가..

씩씩 거리며 계정 막아버리면, 또 어디서 복잡해 정리 못한 서비스가 있어 또 돈이 나가 ㅠㅠ

누구냐! 내 홈피 들어간 인간들이 이러면서 그냥 씩씩거리며 몽땅 정리하신 경험들 많죠?

그런 분들을 위해 만들었습니다.

 

완전 무료 . 운영도 무료!

 

무료로 쇼핑몰을 만드세요!

 

누구나 쉽게 설치방법 따라 하기만 하면 무료 호스팅으로 무료 쇼핑몰을 가집니다.!

더구나 강의도 있어서 직접 개발까지 하면서 미래 지향적으로 갈 수 있습니다!

모든 소스에 대한 설명을 통해 끔임없이 강의와 함께 배우는 샵투울트라 쇼핑몰 !

업데이트를 통한 고도화된 발전도 영원히 계속된다 !!

 

 

유튜브 강의로 따라만들기

 

결과물 보기 : 울트라 쇼핑몰

 

소스코드

https://github.com/shop2world/ultrashop

이글만 보기

[django toolBox] 장고 mailchimp 연동하기

[django toolBox] 장고 mailchimp 연결하기

 

1.html 입력 폼

 
                        <h4>뉴스레터</h4>
                        <form action="/newsletter/" method="POST" class="footer-newslatter">
                        {% csrf_token %}
                            <input type="email" placeholder="이메일 입력" name="newsemail">
                            <button type="submit" class="site-btn">구독하기</button>
                            <p>*최신 기술 뉴스를 받아보세요</p>
                        </form>

 

2.Views

from django.conf import settings
from mailchimp_marketing import Client
from mailchimp_marketing.api_client import ApiClientError
   

# Mailchimp Settings
api_key = settings.MAILCHIMP_API_KEY
server = settings.MAILCHIMP_DATA_CENTER
list_id = settings.MAILCHIMP_EMAIL_LIST_ID

# 메일침프 구독 
def subscribe(newsemail):
    

    mailchimp = Client()
    mailchimp.set_config({
        "api_key"api_key,
        "server"server,
    })

    member_info = {
        "email_address"newsemail,
        "status""subscribed",
    }

    try:
        response = mailchimp.lists.add_list_member(list_idmember_info)
        print("response: {}".format(response))
    except ApiClientError as error:
        print("An exception occurred: {}".format(error.text))

def newsletter(request):
    if request.method == "POST":
        newsemail = request.POST['newsemail']
        subscribe(newsemail)
        messages.success(request"뉴스레터 이메일 구독에 감사합니다!"# 구독감사메세지

    return redirect('courses:home')

 

3.연결

from django.urls import path

from users.views import newsletter

urlpatterns = [    
    path('newsletter/'newslettername='newsletter'),
]

 

4.장고 메일침프 설치

pip install mailchimp-marketing

 

5.settings.py

# MAILCHIMP CREDENTIALS
MAILCHIMP_API_KEY = ""
MAILCHIMP_DATA_CENTER = ""
MAILCHIMP_EMAIL_LIST_ID = ""

이글만 보기

[django toolBox] 메일폼 보내기 contact form 만들기 (모델 없이 views와 gmail 또는 메일건 mailgun 이용)

[django toolBox] 는 장고 사용에 필요한 기능들을 군더더기 없이 짧고 간편하게 설명합니다.

 

django를 이용해 신청서나 폼메일등에서 Gmail의 smtp로 메일을 발송하는 방법을 소개합니다.

 

장고를 이용한 폼메일로 이번에는 model을 만들지 말고 바로 이메일만 보내보도록 하겠습니다.

또 gmail 에 이어서 mailgun을 smtp로 사용하는 것도 배우게 됩니다.

만약 model 을 이용한 폼메일 제작은 [django toolBox] Gmail의 smtp를 백엔드로 이용하여 메일 보내기 contact form 만들기 (모델 이용)

을 참고해 주세요.

1.먼저 gmail의 보안수준을 낮게 설정해야 합니다.

https://myaccount.google.com/lesssecureapps

 

2.settings.py 수정

 

EMAIL_HOST='smtp.gmail.com'
EMAIL_HOST_USER='123@gmail.com'
EMAIL_HOST_PASSWORD='123123123'
EMAIL_PORT = 587

 

3.html 폼 입력 받기

 
          <!-- contact form -->
          <form action="/question/" method="post" class="signup-form">{% csrf_token %}
            <input type="text" placeholder="성함" name="name">
            <input type="text" placeholder="이메일" name="e-mail">
            <textarea placeholder="하실말씀" name="text">      
            </textarea>
            <button class="site-btn">문의</button>
          </form>

4.view만들기

def 문의뷰(request):
    if request.method == 'POST':
        name = request.POST.get('name')
        email = request.POST.get('e-mail')
        text = request.POST.get('text')
        
        message = '안녕하세요! 샵투 스쿨입니다.문의가 접수 되었습니다! 빠른시간내에 답변 드리겠습니다!'
        send_mail(
            '안녕하세요, 샵투스쿨 문의 요청이 접수 되었습니다.',
            message,
            '보낸사람@gmail.com',
            [email],
            fail_silently=False,
        )
        send_mail(
            'shop2',
            '누군가 문의 요청했습니다. 문의 정보: ' + name + ' , ' + email + ' , ' + text + ' , ' + '.',
            '보낸사람@gmail.com',
            ['벋는사람@gmail.com'],
            fail_silently=False,
        )
        messages.info(requestf'요청이 성공적으로 접수 되었습니다. 이메일을 확인 해 주세요.')
    return redirect('courses:home')    

 

5. urls 연결하기

 

urlpatterns = [
      path('question/'문의뷰name='question')
]

 

 

6.메일건 

EMAIL_USE_TLS = True
EMAIL_HOST='smtp.mailgun.org'
EMAIL_HOST_USER='postmaster@mg.도메인.co' #도메인 등록한 경우
EMAIL_HOST_PASSWORD='1234'
EMAIL_PORT = 587

이글만 보기

[django toolBox] Gmail의 smtp를 백엔드로 이용하여 메일 보내기 contact form 만들기 (모델 이용)

[django toolBox] 는 장고 사용에 필요한 기능들을 군더더기 없이 짧고 간편하게 설명합니다.

 

django를 이용해 신청서나 폼메일등에서 Gmail의 smtp로 메일을 발송하는 방법을 소개합니다.

gmail의 보안수준을 낮게 설정하기

https://myaccount.google.com/lesssecureapps

 

settings.py 수정

 

EMAIL_HOST='smtp.gmail.com'
EMAIL_HOST_USER='123@gmail.com'
EMAIL_HOST_PASSWORD='123123123'
EMAIL_PORT = 587

 

 

이글만 보기

[django toolBox] 파이썬 장고(Django)와 MySQL 연동하기

[django toolBox] 는 장고 사용에 필요한 기능들을 군더더기 없이 짧고 간편하게 설명합니다.

 

- 파이썬 장고(Django)와 MySQL 연동하기

장고의 SQlite 은 파일 형식으로 간편하고 중소형 서비스까지 무난히 감당할 만한 강력한 DB입니다.

그러나 별도의 DB서버가 필요한 MySql을 신뢰하시는 분들도 많기에 장고에서 간단히 MySQL을 적용해 봅니다.

여기서는 SQlite에서 MySQL로 데이터를 이전 하는 부분은 설명하지 않고

초기 부터 MySQL을 사용하실 분이라는 것을 전제로 설명합니다.

또한 이미 MySQL 서버를 운영중이시라는 것을 전제로 합니다.

 

1.커넥트 설치

pip install mysqlclient

 

2.setting.py 작업

 

DATABASES = {
    'default': {
        #'ENGINE': 'django.db.backends.sqlite3',
        #'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE''django.db.backends.mysql'#DB 종류
        'NAME''shop2world'#연결할 MySQL 데이터베이스 이름
        'USER''샵투'# 해당 DB 접속 계정
        'PASSWORD''12345678910'#해당 접속 계정 비밀번호
        'HOST''localhost'#My SQL 서버 주소
        'PORT' : '3306'#포트명
    }
}

3.마이그레잇

python manage.py makemigrations

python manage.py migrate

이글만 보기
파이썬 장고 교실

🆓기초부터 제작하는 파이썬 장고 프로젝트

파이썬 장고를 처음부터 배우고 싶으신 분을 위한 웹프레임워크 장고 강좌입니다. 초보분들을 위한 상세하고 반복적인 훈련을 통해 파이썬 장고를 익히게 됩니다.

강사 : Shop2 선생님

파이썬 장고 교실

🈚밑바닥 부터 시작하는 파이썬 장고 Python Django From Scratch

파이썬 장고 공식 문서를 기반으로 초보자를 대상으로 한 강의 입니다. 무료로 1시간 30분 동안 군더더기 없이 압축적으로 장고 공식문서의 핵심내용을 실습과 함께 진행합니다.

강사 : Shop2 선생님

파이썬 장고 교실

🈚장고 파이썬 Channels 이용 채팅 서버 만들기

메신저 제작을 위해 장고 공식 문서를 교재로 쉽게 따라합니다. 챗봇 구현을 위해 WebSocket과 Redis를 사용하여 통신을 하는 Django Channels 라이브러리를 이용 챗 서버의 기본을 따라 만들게 됩니다.

강사 : Shop2 선생님

파이썬 장고 교실

실전(實戰)! 파이썬 장고 🧑‍🏫온라인 강의 플랫폼 통째로 따라 만들기

온라인 강의 플랫폼을 밑바닥에서부터 만들어 봅니다.강의는 LMS 의 핵심 부분을 먼저 다룬 후 신용카드 또는 페이팔 결제를 통해 무료, 유료 회원제 관리가 가능한 교육 서비스를 단계별로 만들게 됩니다.

강사 : Shop2 선생님

파이썬 장고 교실

실전(實戰) Django(장고) 강좌 – 프로 블로그 따라 만들기

장고를 이용한 블로그입니다. 실제 업무 플로우를 따라 사용 가능한 탬플릿 그대로 적용해서 만듭니다. 따라 하기 스타일이므로 초보에서부터 전문적으로 장고 블로그를 사용하시려는 분까지 블로그 프로젝트를 쉽게 진행할 수 있게 됩니다.

강사 : Shop2 선생님

파이썬 장고 교실

🈚장고(Django) 리액트(React) – 온라인 소규모 콘서트홀 앱 만들기

파이썬 장고(Django)와 리액트(React)를 사용하여 스포티파이(Spotify)를 연결하여 만드는 앱을 제작해 봅니다.

강사 : Shop2 선생님

레슨 1 1.장고프로젝트 기초부터 제작하기 – 프로젝트 설치
레슨 2 2.장고프로젝트 기초부터 제작하기 – App만들기
레슨 0 오리엔테이션 - 장고프로젝트 기초부터 제작하기 강의 안내
레슨 3 3.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 모델 (Model)만들기
레슨 4 4.파이썬 장고(Python Django) – 모델 (Model) 에 필드 추가 하기
레슨 5 5. 파이썬 장고(Python Django) – 테이블의 필드를 연결해 주는 외래키(Foreign Key)
레슨 6 6.User 모델의 확장 기법 - User모델을 그대로 활용, 필드 추가 OneToOne 모델, 기존 Django의 User 모델 그대로 사용 AbstractUser
레슨 8 8.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 장고 관리자 (어드민, admin)
레슨 7 7 기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 데이터베이스 관리 하기
레슨 9 9.파이썬 장고(Python Django)– 첫화면 만들기- 모델과 템플릿들을 연결하는 뷰 (View)
레슨 10 10.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – HTML로 만든 페이지를 보여주자! Django 템플릿 (Template)
레슨 11 11.파이썬 장고(Python Django) – HTML에 생명을! 템플릿에 변수 값 매핑 작업 - 콘텍스트(context)
레슨 12 12.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 효율적인 url 관리 – namespace와 app_name
레슨 13 13.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 모델 정보 보여주고 pk 로 url 연결하기
레슨 14 14.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – pk 로 url 연결된 상세 페이지 제작하기
레슨 15 15.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 장고의 폼(Form) 1.일반 폼
레슨 16 16.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 장고의 폼(Form) 2.일반 폼
레슨 17 17.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 장고의 폼(Form) 3.모델폼(ModelForm)
레슨 18 18.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 장고의 폼(Form)을 사용한 CRUD 구현 – update 1
레슨 19 19.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 장고의 폼(Form)을 사용한 CRUD 구현 – update 와 delete
레슨 20 20.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – Django URL namespace 사용하기
레슨 21 21.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 템플릿 확장(template extending)
레슨 22 22.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – Django + BootStrap 등 디자인 프레임워크 적용 화면 꾸미기1
레슨 23 23.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – Django + 디자인 프레임워크 적용 화면 꾸미기 2
레슨 24 24.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – Django + 디자인 프레임워크 적용 화면 꾸미기 3
레슨 25 25.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – Static(정적) 파일 사용하기 (이미지, CSS 파일 등)
레슨 26 26.파이썬 장고(Python Django) – 클래스형 뷰(class view)를 이용한 CRUD 구현,매칭되는 url이 없는 에러 NoReverseMatch
레슨 27 27.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 이메일 보내기 기능 send_mail
레슨 28 28.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 인증 처리 1 – 로그인,로그아웃 만들기
레슨 29 29.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 인증 처리 2 – 회원가입 만들기
레슨 30 30.파이썬 장고(Python Django) 프로젝트 – 인증 처리 3 – 로그인 권한 지정 LoginRequiredMixin
레슨 31 31.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – 장고의 강력한 자동화 이벤트 처리 기능 시그날(Signal)
레슨 32 32.기초부터 제작하는 파이썬 장고(Python Django) 프로젝트 – sqLite에서 PostgreSQL 로- 장고 PostgreSQL DB 연동
레슨 1 밑바닥 부터 시작하는 파이썬 장고 Python Django From Scratch
레슨 1 충격 발견! 메신저 원조 교재 (元祖 敎材) - 장고 파이썬 Channels 이용 채팅 서버 만들기
레슨 0 파이썬 장고 온라인 LMS(학습관리시스템 : Learning Management System) 제작 강의 과정 안내
레슨 1 1.실전 장고 온라인 강의 서비스 만들기 – 프로젝트설치와 앱 설치. 사용자 앱 부분
레슨 2 2.실전 장고 온라인 강의 서비스 만들기 – 강의 제작 처리 앱 부분
레슨 3 3 장고 온라인 LMS 시스템 프로젝트 소스 코드와 작업 목표
레슨 4 4 온라인 강의 서비스 회원제 모델 제작
레슨 5 5 온라인 강의 서비스 신용카드 결제시 회원제 플랜 만들기
레슨 6 6 온라인 강의 서비스 강좌와 레슨의 model과 views
레슨 7 7 멤버쉽 플랜 처리 작업 – 플랜 선택, 플랜에 포함된 강의 , 회원의 현재 멤버십 상태 표현 등
레슨 8 8 장고 온라인 LMS 시스템 프로젝트 – 멤버쉽 결제처리 (신용카드)
레슨 9 9 고객 결제 처리 확인과 프로필 작업
레슨 10 10. 최종 소스 코드와 장고 페이팔의 설치와 Paypal IPN 이용 멤버십 처리
레슨 0 장고(django) 기본 다지기 – 이론과 초간단 블로그 제작으로 장고 프로젝트 절차 이해
레슨 1 1.실전 블로그 템플릿 설치와 장고 연결 – 골격과 이미지 까지 (소스코드 포함)
레슨 2 2.실전 블로그 템플릿 설치와 장고 연결 – 메인 포스트와 헤더 완성
레슨 3 3.실전 블로그 템플릿 설치와 장고 연결 – 블로그 글 데이터베이스 저장 위한 모델 정의
레슨 4 4.실전 블로그 템플릿 설치와 장고 연결 – 블로그 포스트와 최신 글
레슨 5 5.실전 블로그 템플릿 설치와 장고 연결 – 뉴스레터 기능 추가하기
레슨 6 6.실전 블로그 템플릿 설치와 장고 연결 – 블로그 페이지에 장고 로직과 페이지 처리
레슨 7 7.실전 블로그 템플릿 설치와 장고 연결 – 사이드바 1 – 최신글과 카테고리 get_absolute_url
레슨 8 8.실전 블로그 템플릿 설치와 장고 연결 – 사이드바 2 – 검색 기능,Q,distinct()
레슨 9 9.실전 장고 – 장고에 강력한 위지윅(WYSIWYG – What You See Is What You Get) 에디터 연결 (admin)
레슨 10 10.실전 장고 – 포스트레이아웃, 이전 이후 포스트 연결ForeignKey()
레슨 11 11.실전 장고 – 포스트 사이드바 템플릿 처리
레슨 12 12.실전 장고 블로그 – 댓글(Comment) 기능 만들기
레슨 13 13.실전 장고 블로그 – 포스트 편집 , 삭제와 포스트 생성(사용자측 WYSIWYG 이용) ,django-crispy-forms
레슨 14 14.실전 장고 블로그 – 포스트 댓글 조회수 처리
레슨 14 14a.강좌를 14강에서 중단 후 다시 서버실행시 IntegrityError, NOT NULL constraint failed
레슨 15 15.실전 장고 블로그 – 인증 하기 ( Django – allauth ) ,로그인한 사용자만 글쓰기
레슨 1 1 플러터 프로젝트 셋업
레슨 0 django 음악 스타트업 플스텍 앱 만들기 – 강의 안내
레슨 1 django 음악 스타트업 플스텍 앱 만들기 – 1. 기본 설치
레슨 2 django 음악 스타트업 플스택 앱 만들기 – 2. DRF(Django Rest Framework)
레슨 3 django 음악 스타트업 플스텍 앱 만들기 – 3. Webpack과 Babel을 이용한 React 개발 환경 구성하기
레슨 4 django 음악 스타트업 플스텍 앱 만들기 – 4. 프론트앤드 작업 – React 의 콤포넌트와 라우팅
레슨 5 5. 백앤드 작업 – POST Requests 이용 방만들기 (Django REST)
레슨 6 6 프론트앤드 작업 – 음악 방만들기 UI 작업
레슨 7 7. 음악 방만들기 프론트앤드 백앤드 작업
레슨 8 8. 음악 방 가입 기능 만들기
레슨 9 9. 음악 방 기존 방문자 세션 처리
레슨 10 10. 음악 방 기존 방문자 장고 세션 로그아웃 처리
레슨 11 11. 음악 방 셋팅 작업 1
레슨 12 12. 음악 방 셋팅 작업 2 props와 콜백 작업
레슨 13 13. 스포티파이 연결하기