-
방문자 기록 사이트 Toy Project(feat. Django-MySQL-Vue.js)FullStack/Vue.js+Django 2021. 4. 30. 22:48728x90
https://ninano1109.tistory.com/129
👣 방문자 기록 사이트 토이프로젝트 회고
😎 Before We Start: Docker란? 개발 결과물(환경)에 대해 사진을 찍듯 Docker image를 빌드하고, 해당 이미지를 바탕으로 container를 실행하면 다른 어떤 컴퓨터에서도 동일한 환경을 세팅해주어 서비스를
ninano1109.tistory.com
방문자 기록 사이트 토이프로젝트에서 개발한 DB, 백엔드, 프론트 코드들 입니다:)
DB(MySQL)
Django의 기본 내장 DB인 Sqlite 대신 MySQL을 DB로 사용하기 위한 설정 해주기
# my_settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mytable', 'USER': 'root', 'PASSWORD': 'password', 'HOST': 'localhost', 'PORT': '8000', } } SECRET_KEY = 'w_q*=...'
Django-MySQL DB 연결하기(feat. mysqlclient )
Django에는 기본 내장 DB인 Sqlite가 있지만, 이는 간단한 DB(?)로 활용하기 위한 것으로 좀 더 큰 규모의 프로젝트를 진행하기 위해서 MySQL을 연동해서 사용할 수 있습니다. 먼저, Django에서 MySQL을 사
ninano1109.tistory.com
Backend(Django)
# settings.py SECRET_KEY = my_settings.SECRET_KEY ALLOWED_HOSTS = ['*'] INSTALLED_APPS = [ ... 'visits', 'rest_framework', # CORS 'corsheaders', ] MIDDLEWARE = [ # CORS 'corsheaders.middleware.CorsMiddleware', ... ] DATABASES = my_settings.DATABASES # CORS conf. CORS_ORIGIN_ALLOW_ALL = True
# Urls.py from django.contrib import admin from django.urls import path from visits import views urlpatterns = [ path('admin/', admin.site.urls), path('', views.visit, name='visit'), #GET/POST ]
# models.py from django.db import models # Create your models here. class Visits(models.Model): visitor_name = models.CharField(max_length=25) visit_datetime = models.DateTimeField(auto_now= True) class Meta: managed = False db_table = 'visits'
# serializers.py from rest_framework import serializers from .models import Visits class VisitListSerializer(serializers.ModelSerializer): class Meta: model = Visits fields = ['visitor_name', 'visit_datetime'] class VisitSerializer(serializers.ModelSerializer): class Meta: model = Visits fields = ['visitor_name']
# views.py from django.shortcuts import render, get_object_or_404 from rest_framework.decorators import api_view from rest_framework.response import Response from .serializers import VisitListSerializer, VisitSerializer from .models import Visits # Create your views here. @api_view(['GET', 'POST']) def visit(request): if request.method=='GET': visitors = Visits.objects.all() serializer = VisitListSerializer(visitors, many=True) return Response(serializer.data) elif request.method=='POST': serializer = VisitSerializer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data)
# requirements.txt Django==3.2 mysqlclient==2.0.3 djangorestframework==3.12.4 django-cors-headers==3.7.0
Frontend(Vue.js)
https://ninano1109.tistory.com/144
[JavaScript] Vue.js 프론트 개발 (feat. REST API 통신 with Django/Flask)
Vue.js 초기 설정은 아래를 참고했습니다: https://ninano1109.tistory.com/54?category=939829 JavaScript 기반 Vue.js 웹 개발 초기 설정(feat.Node.js) 웹 개발 시 프론트엔드 개발을 위해 Django와 같은 백엔..
ninano1109.tistory.com
- 이상 오늘의 삽질일기 끝!
여기저기 삽질도 해보고
날려도 먹으면서
배우는 게
결국 남는거다
- Z.Sabziller
'FullStack > Vue.js+Django' 카테고리의 다른 글
CORS 오류 해결(feat.REST API 통신 오류 ) (2) 2021.01.03 프론트/백엔드 위치에서 git add 누락 시 => git add --all 사용 (0) 2020.10.23