-
방문자 기록 사이트 Toy Project(feat. Django-MySQL-Vue.js)FullStack/Vue.js+Django 2021. 4. 30. 22:48728x90
https://ninano1109.tistory.com/129
방문자 기록 사이트 토이프로젝트에서 개발한 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*=...'
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
- 이상 오늘의 삽질일기 끝!
여기저기 삽질도 해보고
날려도 먹으면서
배우는 게
결국 남는거다
- Z.Sabziller
'FullStack > Vue.js+Django' 카테고리의 다른 글
CORS 오류 해결(feat.REST API 통신 오류 ) (2) 2021.01.03 프론트/백엔드 위치에서 git add 누락 시 => git add --all 사용 (0) 2020.10.23