Web Programming (50) 썸네일형 리스트형 소셜로그인 API 활용하기 소셜로그인 구글 및 네이버 등 다양한 소셜 로그인을 Django에서 활용할 수 있다. ## 기능 구현을 위해 사용할 패키지 allauth 1$ pip install django-allauthcs ## settings.py 12345678910111213INSTALLED_APPS = [ ... 'django.contrib.sites', ... # allauth 'allauth', 'allauth.account', 'allauth.socialaccount', # provider 'allauth.socialaccount.providers.google', # 원하는 사이트 마지막에 google 대신 추가]Colored by Color Scriptercs 123456AUTHENTICATION_BACKENDS=( .. 네이버 지도 API 활용하기 네이버 지도 API 활용하기 API(Application Programming Interface) 응용 프로그램에서 사용할 수 있도록 OS, PR언어가 제공하는 기능을 제어할 수 있는 인터페이스. 우리 웹 페이지와 같은 응용 프로그램에서 우리가 갖고 있지 않은 외부기능을 가져다 쓸 수 있다. 네이버 지도 API 활용하기! ## Naver cloud platform ncloud 페이지 들어가서 회원가입 회원가입 후 서비스 들어가서 maps 클릭 maps 이용신청하기 클릭 하단에 application 등록 web dynamic mab 클릭 web 서비스 url은 http://127.0.0.1:8000 입력 clientID와 clientSecret 복사 사용설명서 누르면 자세한 설명을 볼 수 있음(https:.. 댓글 기능 추가하기(모델 관계) 대부분의 웹에서 우리는 게시글에 대한 댓글들을 이용한다.그렇기에 우리도 댓글 기능을 추가하기 위해 모델관계에 대해 간략히 알아보고자 한다. 장고에서는 모델 관계를 설정하는데 있어 기본적으로 DB를 활용한다.외래키를 활용하여 모델들 간의 관계를 맺곤 한다. 12345678class Artist(models.Model): first_name = models.CharField(max_length=50) last_name = models.CharField(max_length=50) class work(models.Model): maker = models.ForeignKey(Artist, on_delete=models.CASCADE) name = models.CharField(max_length=100) rele.. Django 장고 텍스트에디터 사용하기(CKeditor) 기존의 Textarea가 아닌 TextEditor 를 통해서 글을 보다 편리하게 작성하고 활용할 수 있다 링크 : https://github.com/django-ckeditor/django-ckeditor 준비물 먼저 1. FORM 태그를 활용한 템플릿 2. static, media 태그 먼저 ckeditor 라이브러리를 설치해준다. 1$ pip install django-ckeditorcs 그 다음, App을 연결해준다. 123456# settings.pyINSTALLED_APPS = [ ... 'ckeditor', 'ckeditor_uploader',]cs 그리고 ckeditor path를 설정해준다. 123# settings.pyCKEDITOR_UPLOAD_PATH = 'uploads/'CKEDIT.. Form 활용하기 모델 형식에 맞는 입력공간 만들기하나하나하 Form 태그 만드는 것의 한계그래서 장고 내부의 forms.py를 활용하기! Forms.py1) 모델 기반 입력공간 만들기from django import forms.ModelForm2) 임의의 입력공간 만들기from django import forms.Form # model(Form.py)from django import forms.Formclass myForm(forms.ModelForm):class Meta:어떤 모델을 기반으로 한 입력공간인가그 모델 중 어떤 항목을 입력받을 것인가img = forms.ImageFieldtext = forms.TextField(or forms.CharField)tims = forms.DateTimeField project.. Blog 프로젝트 정리 흐름 1. 가상환경 실행 - 프로젝트 만들기 - 앱 만들기(Blog, Portfolio, Accounts) - 앱 연결 2. Model 제작 3. Static 처리 4. Media 처리5. url 만들기(include, 각각의 앱에 urls.py) 6. template 파일 7. view 처리 8. 그외 기능 추가 1. 가상환경 실행, 프로젝트 만들기, 앱 만들기, 앱 연결 먼저 Blog 프로젝트를 만들기에 앞서 가상환경을 실행하고 프로젝트와 앱을 만든다. 12345$ source myvenv/Scripts/activate$ django-admin startproject BlogProject$ python manage.py startapp blog$ python manage.py startapp port.. 페이지 나누기(Pagination) 글의 수가 몇 개 없을 때는 상관이 없지만 글의 수가 무수히 많아질 경우에한 페이지에 한 번에 글을 전부 다 띄워주게 되면 로딩 시간과 사용에 불편함 등 여러가지 문제점이 발생한다그래서 페이지를 나누어서 보여주는 것이 효과적인데 장고에서는 Pagination을 활용하여 페이지를 나눌 수 있다 먼저, views.py에서 다음의 코드를 통해 기존의 모든 blog 객체를 주는 것에서 posts로 나누어서 주는 방법을 택한다 1234567891011# project/blog/views.py from django.core.paginator import Paginator...def home(request): blogs = Blog.objects blog_list = Blog.objects.all().order_by.. 로그인 & 회원가입 1. 틀 완성 장고에서는 패키지를 통해 로그인과 회원가입 기능을 구현할 수 있다먼저 계정 app을 추가하고 포함시켜주어야 한다 1$ python manage.py startapp accountscs 그리고, 기존의 프로젝트 settings.py에서 해당 app을 연결시켜준다다음 accounts 앱의 template를 추가해주고 html 파일을 작성해준다 1234567891011121314151617181920212223242526# project/accounts/signup.html {% extends 'base.html' %} {% block content %} Sign Up! Username: Password: Confirm Password: {% endblock %}Colored by Color S.. 이전 1 2 3 4 5 6 7 다음