(2022.10.18) Today I Learned_Day-33

imRound·2022년 10월 18일
0
post-thumbnail

🤩 이미지가 업로드가 안되는 오류

url을 계속하여 못 찾았었다… 앱 안에 있어서 에러가 나는 경우였다.

앱 url 에 넣었는데 그렇게 되면 django가 앱 안에서 이미지를 계속 찾고 있기 때문에

최상위 url로 staic 코드를 넣었더니 진행되었다!

이미지 업로드 중 오류 해결을 완료하였다.

이전에 해당 오류가 나왔었는데, 기록을 안했어서 기억이 나질 않았다.

오류를 해결하고 나서야 전에 이 방법으로 해결했던 것이 생각났다.

앞으로도 계속 많은 오류들을 기록하면서 오류가 났을 때도 이렇게 오류를 해결했구나 하면서 보고

익숙해지면서 오류들을 줄여나가야겠다!

# mainproject(최상단)/urls.py

fromdjango.confimport settings
fromdjango.conf.urls.staticimport static

urlpatterns = [
    path('admin/', admin.site.urls),
    path('user/', include("user.urls")),
    path('tweet/', include('tweet.urls')),
]
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) # 해당 부분을 추가해야한다!!!

🤩 import의 정확한 방법

import torch
import cv2

**def ml_yolov5():**
    model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True) # 여기다가 학습시킨 콜랩을 넣는 것임 우리는 이거를 해야함! 이거 뭔데? 나도 몰라 ㅎㅎ 학습된 결과물임!!!!!!!!! 라이브러리 
    # 사진 경로

    img = cv2.imread('Untitled.jpeg')
    results = model(img)
    results.save()
    .....
    .....
from django.shortcuts import render, redirect
from .models import Article
**from machine_learning import machine_learning** # import 하는 방법

# import 작성 예제

def write(request):
      tag = **machine_learning.ml_yolov5**(article.image) # 그냥 ml_yolov5를 써서 import가 되지 않는 경우였다!

post는 body가 있다 타이틀 정보들을 받는데 get은 body가 없다. 정보들이 없다…….

#  users/urls.py

from django.urls import path, include
from user import views

app_name = "user"

urlpatterns = [
    path('signup/', views.signup, name="signup"),
    path('signin/', views.signin, name="signin"),
    path('logout/', views.logout, name='logout'),
    path('home/', views.home, name='home'),
    **path('searchname/<str:profile>', views.searchname, name="searchname"), # ex) searchname/김경장**
]

Django 검색 기능 구현 중 어려웠던 것

# users/views.py

def searchname(request, **profile**): # url에다가 <str:profile> 써서 파라미터(request, profile)를 받았다.
    if request.method == "GET": # method 방식이 GET이면
        search_name = Users.objects.filter(profile=profile) 
					#Users 모델의 profile을 filtering 해준다.
        print(search_name[0].profile) # profile 정보 확인 print함수
    return render(request, 'community.html', **{'search_name':search_name}**) # community.html을 보여주고, search_name을 dict형태로 만들어서 html로 보낸다.(post함)

filter를 할 때 마냥 POST 방식으로 진행해야겠다고 생각하여 막혔었다.

GET으로 진행을 하여 파라미터로 profile을 받아서 진행을 했더니 진행이 잘 되었다!

오늘 검색 기능을 구현하면서 새로운 방법을 한 것 같은 기분이다!

계속 파라미터를 받는 형식보다는 이전에 사용했었던, 기본적인 request만 들어가는 형식의 기능들만 구현을

하다보니 다른 방법을 할 생각이 나지를 않았다. 이곳 저곳 찾아보면서 이해를 하고 진행을 하니 구현이 되었고

구현을 완료하니 정말 기뻤다!!

profile
Django 개발자

0개의 댓글