Notice
Recent Posts
Recent Comments
250x250
Creative Code
Aurora-(3)django, pynecone 연동예제코드 본문
728x90
※django 내부 코드
# Django API 설정 (Django 앱 내부)
# myapp/models.py
from django.db import models
class MyModel(models.Model):
field1 = models.CharField(max_length=100)
field2 = models.TextField()
# myapp/serializers.py
from rest_framework import serializers
from .models import MyModel
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = '__all__'
# myapp/views.py
from rest_framework import generics
from .models import MyModel
from .serializers import MyModelSerializer
class MyModelListCreate(generics.ListCreateAPIView):
queryset = MyModel.objects.all()
serializer_class = MyModelSerializer
# myapp/urls.py
from django.urls import path
from .views import MyModelListCreate
urlpatterns = [
path('api/mymodel/', MyModelListCreate.as_view(), name='mymodel-list-create'),
]
# 프로젝트의 urls.py (myproject/urls.py)
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('admin/', admin.site.urls),
path('api/', include('myapp.urls')),
]
※pynecone 내부 코드
import requests
from pynecone import pc, h
api_endpoint = 'http://localhost:8000/api/mymodel/' # Django API 엔드포인트 URL
class MyApp(pc.Component):
def __init__(self):
super().__init__()
self.state.data = []
def on_mount(self):
# Django API에서 데이터를 가져오는 GET 요청
response = requests.get(api_endpoint)
if response.status_code == 200:
self.state.data = response.json()
def render(self):
return (
h.div(
h.h1('Data from Django API'),
h.ul([h.li(item['field1']) for item in self.state.data])
)
)
app = pc.app(MyApp)
if __name__ == '__main__':
app.start()
728x90
'Projects' 카테고리의 다른 글
Aurora-프로젝트 중간 정리-1 (0) | 2023.11.06 |
---|---|
Aurora-(4)서버개발(POST,GET,PUT,DELETE) (0) | 2023.11.06 |
Aurora-(2)서버 구축 연습 (0) | 2023.11.02 |
Aurora-(1)로그인 UI화면 구현[클라이언트] (0) | 2023.11.01 |
Aurora-(0)준비단계 (0) | 2023.10.31 |