묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
간단한 로그인 api 적용
안녕하세요 좋은 강의 만들어주셔서 감사합니다 django 강의를 마친 후 이를 바탕으로 로그인, 회원가입, 프로필 확인, 삭제 정도 가능한 프로젝트를 새로 만들었습니다. 이를 바탕으로 강의의 profile 모델을 기반으로 한 간단한 api를 만들었고 지금 목적은 이 api를 기준으로 새로만든 django 프로젝트의 MODEL부분을 모두 api에서 관리하도록 적용하고싶은 학생입니다. 제가 만든 api의 명세서 입니다. https://documenter.getpostman.com/view/15940594/Tzm6kvP2 #accountapp/create.html {% extends 'base.html' %}{% load bootstrap4 %}{% block content %} <div style="text-align: center; max-width: 500px; margin: 4rem auto;"> <div class="mb-4"> <h4>Signup</h4> </div> <form action="{% url 'accountapp:create' %}" method="post"> {% csrf_token %} {% bootstrap_form form %} <input type="submit" class = "btn btn-dark rounded-pill col-6 mt-3"> </form> </div>{% endblock %} 에서 <form action="{% url 'accountapp:create' %}" method="post"> 이 부분의 url을 바꾸면서 class AccountCreateView(CreateView): model = User form_class = UserCreationForm success_url = reverse_lazy('profileapp:create') # reverse_lazy는 클래스형 뷰에서 reverse 는 함수형 뷰에서 template_name = 'accountapp/create.html' 이 부분을 함수형 뷰로 바꿔서 진행하려는데 위에 만든 api의 json 형식을 어떤식으로 읽고 쓰게 할 수 있는지에 대한 방법론이 궁금합니다... 참고로 rest api 서버의 스토리지는 mariadb이고 추후에는 현 django 프로젝트의 모델을 전부 삭제하고 api로만 진행할 생각입니다. 소셜 로그인과 비슷한 형태로 진행하려고 했는데 참 힘들더라구요.. 공부가 부족한 것 같습니다 ------------------------------------------ 현재 방법을 찾던 중 https://www.daleseo.com/python-json/ 위 포스트를 보고 파이썬 내장 모듈인 json 모듈을 통해 입력받는 것을 공부중에 있습니다 혹시 다른 방법이 있는지 이 방법을 사용할 경우 문제점이 무엇인지 알려주시면 감사하겠습니다 ---------------------------------------------------------------------------- #accountapp/views.pyimport json, requests# Create your views here.def web_request(method_name, url, dict_data, is_urlencoded=True): """Web GET or POST request를 호출 후 그 결과를 dict형으로 반환 """ method_name = method_name.upper() # 메소드이름을 대문자로 바꾼다 if method_name not in ('GET', 'POST'): raise Exception('method_name is GET or POST plz...') if method_name == 'GET': # GET방식인 경우 response = requests.get(url=url, params=dict_data) elif method_name == 'POST': # POST방식인 경우 if is_urlencoded is True: response = requests.post(url=url, data=dict_data, headers={'Content-Type': 'application/x-www-form-urlencoded'}) else: response = requests.post(url=url, data=json.dumps(dict_data), headers={'Content-Type': 'application/json'}) dict_meta = {'status_code': response.status_code, 'ok': response.ok, 'encoding': response.encoding, 'Content-Type': response.headers['Content-Type']} if 'json' in str(response.headers['Content-Type']): # JSON 형태인 경우 return {**dict_meta, **response.json()} else: # 문자열 형태인 경우 return {**dict_meta, **{'text': response.text}} python에서 http메소드의 post와 get을 사용할 수 있는 함수를 views.py 에 추가해주고 def signup(request): if request.method == 'POST': print('리퀘스트 로그' + str(request.body)) username = request.POST.get('userid', '') password = request.POST.get('userpw', '') pw2 = request.POST.get('userpw2', '') print(username, password, pw2) if password == pw2: json_signup = {} json_signup["username"] = username json_signup["password"] = password url = 'http://APIhost:port/register/' # 접속할 사이트주소 또는 IP주소를 입력한다 data = json_signup # 요청할 데이터 # (example) data = {"username":"test123","password":"testword123"} print(data) response = web_request(method_name='POST', url=url, dict_data=data) return HttpResponse('success') return render(request, "accounts/signup.html") 탬플릿의 http에서 따온 변수 userid, userpw를 따와서 파이썬 내장 모듈인 json을 통해서 json파일을 만들고 data 변수에 입력하고 위에서 만든 함수를 통해 api에 json 으로 POST 요청을 보내는 함수를 디자인하여 해결했습니다. 위 처럼 json을 통해 로그인과 패스워드를 api 서버와 주고받는다면 보안적으로 이슈가 될 만한 사항이 있을까요? -----------------------------------
-
해결됨작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
html { font-size: 62.5% } 에 관한 질문
// 맨 아래에 한 줄 요약 질문 있습니다...! 1rem이 16px 단위인 것이 불편하여, 어떻게 하면 직관적으로 px 단위와 1:1 매칭을 할 수 있을까 알아보던 도중, 아래와 같은 방법을 발견했습니다. html { font-size: 62.5%; /* 100% = 16px | 62.5% = 10px */ } body { font-size: 1.6rem; } 이렇게 하면 1rem이 10px을 의미하게 되어, 보다 직관적인 사이즈 조절이 가능하더라구요. 그런데, 위의 CSS 코드를 적용한 뒤, 강의 내용에 나온 rem의 수치들에 전부 1.6을 곱하여 재적용했음에도 불구하고, 사이즈가 뭔가 이상하게 엄청 작게 나오더군요... 알아보니 header들 (h1~h6)마다 font-size를 다시 재정의 내려야 하는 상황이 펼쳐지고... h1~h6 전부 공식 사이즈에 맞춰 rem값을 지정해봐도 강의에서 제공하는 결과물과 전혀 일치하지 않고... 너무 힘들어서 결국 전부 다 git reset --hard 하고 강의 내용대로 따라하고 있습니다. ============= 질문: 1rem을 10px로 만드는 위와 같은 (유명한) 트릭을 사용하는 방법은, 웬만하면 지양하는 게 나을까요?
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
뭐가 잘못된 것인지 모르겠습니다.
강사님 화면은 이렇게 나오는데 저의 화면은 이런식으로 일자로 나옵니다. MagicGrid 소개 및 Articleapp 시작 현재 이 강의를 듣고있습니다. 강사님과 저의 코드에 다른 점을 못찾겠습니다. 어떤 부분이 다르면 저렇게 나오는건가요?
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
오류 해결이 안됩니다..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 Page not found (404) Request Method: GET Request URL: http://127.0.0.1:8000/ Using the URLconf defined in pragmatic.urls, Django tried these URL patterns, in this order: admin/ account/ The empty path didn’t match any of these. You’re seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.. 밑에는 제 코드 입니다. 밑에 보시는 것 처럼 accoutapp이 추가되어있는데 왜 저런 에러가 발생하는 것인가요? INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'accountapp',]
-
미해결
django login template 질문
django 공부 중인 학생입니다. 웹사이트 로그인 예제를 다음과 같이 다른 디자인으로 바꾸고 싶은데 어려움을 느껴 질문 올립니다. <div class="form-group row"> {{ form.username|add_label_class:"col-form-label col-sm-2 ml-3 font-weight-bold" }} <div class="col-sm-5"> {{ form.username|add_class:"form-control"|attr:"autofocus" }} </div> </div> <div class="form-group row"> {{ form.password|add_label_class:"col-form-label col-sm-2 ml-3 font-weight-bold" }} <div class="col-sm-5"> {{ form.password|add_class:"form-control" }} </div> </div> <!-- Email --> <input type="text" id="defaultLoginFormEmail" class="form-control mb-4" placeholder="E-mail"> <!-- Password --> <input type="password" id="defaultLoginFormPassword" class="form-control mb-4" placeholder="Password"> 위에 디자인을 아래 디자인으로 바꾸고 싶습니다. widget_tweaks 사용하고 있습니다. 감사합니다.
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
reverse의 기능
안녕하세요,장고수업 잘 듣고 있습니다. 수업 내용 중에 django url의 reverse 와 reverse_lazy를 활용하는데,해당 메소드들의 기능이 무엇인가요? 제가 평소에 알고있는 직역(?)된 단어 뜻과는 매칭이 안되는 것 같아서요...
-
해결됨작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
F5눌렀을때 왜 get방식이 아닌 post형식으로 전달되는지 궁금합니다
6분 5초경에 return render문을 썼을때 f5를 누르면 post형식으로 계속 정보가 전달되는거 같은데, 왜 post형식으로 계속 정보가 전달되는지 궁금합니다.
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
Edge 브라우저에서 css 업데이트 내용 인식 못함 문제입니다...
안녕하세요~ 강의 잘 듣고 있습니다! 다름이 아니라 base.css 파일을 만든 뒤, 처음 class 를 적용했을 때는 edge 브라우저에서 잘 동작하였습니다. 그러나 base.css 에 클래스를 몇개 더 추가하였는데, 변경된 내용이 적용되지 않더라구요.. F12를 눌러 확인해보니, base.css 파일에 추가된 class 내용이 없더라구요 chrome 브라우저에서는 수정, 변경된 내용이 잘 반영되는데 edge 브라우저에서는 문제가 발생하고 있었습니다.. 해결 방법이 있을까요??
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
admin superuser 서버상띄운후 만들기
안녕하세요! admin 관련해서 질문 드립니다. 로컬에서는 python manage,py createsuperuser 로 admin 계정을 만들던대 docker container 에 올리고 서버를 띄우고 나서는 admin 계정을 어떻게 만들어야 하나요? dockerfile 에서 새로운 구문을 추가해줘야 하나요?
-
미해결파이썬 사용자를 위한 웹개발 입문 A to Z Django + Bootstrap
안녕하세요! 실서버에 올린 sqlite3의 데이터를 직접 확인하려면 어찌하나요?
안녕하세요~! 기존에 flask로 만든 간단한 웹 서비스가 있는데 그걸 장고로 변경하려고 해당 강의를 듣고 있습니다. :) 기존 flask에서는 mongodb를 쓰고 있는데 mongodb에 저장된 data들을 studio 3T나 robo 3T등 실서버로 접속하여 간편하게 db를 확인할 수 있었거든요~ sqlite3의 경우 찾아보니 DB Brower for sqlite라는 프로그램이 있어서 해보니 local에 저장된 sqlite파일을 import하여 보는 방식이라 만약 실서버에 배포를 한 후에는 어떻게 해당 프로그램이나 다른 프로그램들로 sqlite를 접속하여 확인가능할까요?? 물론 /admin으로 들어가서 볼 수 있지만 백업이나 검색등 조금 더 편의적으로 사용하려고 찾아보고 있습니다. 그럼 답변 기다르겠습니다! 감사합니다.
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
리턴 값이 있는 함수를 멀티 프로세스로 실행할 때 실행된 함수의 리턴 값을 변수로 저장하여 사용할 수 있는 방법이 궁금합니다.
리턴 값이 있는 함수를 멀티 프로세스로 실행할 때 실행된 함수의 리턴 값을 변수로 저장하여 사용할 수 있는 방법이 궁금합니다. from multiprocessing import Processdef func1(): a = a+3 return adef func2(): b = b+2 return bdef func3(): c = c+1 return cp1 = Process(target=func1)p2 = Process(target=func2)p3 = Process(target=func3)p1.start()p2.start()p3.start()p1.join()p2.join()p3.join()
-
미해결플러터와 장고로 1시간만에 퀴즈 앱/서버 만들기 [무작정 풀스택]
[Overflow] MediaQuery 반응형 관련 질문
무작위 플러터 앱 따라 해봤는데요! 반응형 웹이라 스마트폰 크기 상관 없이 자동으로 화면이 맞춰지는 걸로 알고 있는데 overflow 오류가 뜨는 이유는 무엇일까요? MediaQuery 위젯 사용해서 변수값에 화면 넓이랑 높이 설정해주고 나머지 패딩 값을 이 높이 너비 값을 이용해서 값을 넣어주는 강의방식 및 값 그대로 따라했습니다!
-
해결됨파이썬 사용자를 위한 웹개발 입문 A to Z Django + Bootstrap
page not found가 계속 뜹니다.
강의내용대로 따라했는데 저렇게 뜹니다. 강의내용을 돌려서 제가 pycharm속 코드들과 비교해봐도 다른게 없는데 제가 어느부분을 놓치고 있는 걸까요?
-
미해결인스타그램 클론 - full stack 웹 개발
제 질문 지나서 답변하셔서 다시 질문드립니다.
마지막 완성된 페이지를 구동시켜보고 싶습니다. 최소한으로 필요한 세팅과 다운해야하는 첨부파일을 정리해서 알려주세요! 완성된 페이지를 통해 작동하는 원리를 배우면서 하고 싶습니다. 해당 강의 번호 및 페이지를 작동시키는 순서 알려주시면 감사하겠습니다.
-
미해결페이스북 클론 - full stack 웹 개발
직접 따라하기 전에 완성된 페이지 구동시켜보고 싶습니다.
마지막 완성된 페이지를 구동시켜보고 싶습니다. 최소한으로 필요한 세팅과 다운해야하는 첨부파일을 정리해서 알려주세요! 완성된 페이지를 통해 작동하는 원리를 배우면서 하고 싶습니다. 해당 강의 번호 및 페이지를 작동시키는 순서 알려주시면 감사하겠습니다.
-
미해결인스타그램 클론 - full stack 웹 개발
개발 도중 먼저 완성된걸 제 컴퓨터로 돌려보고 싶은데 그러기 위해 필요한 최소 세팅 궁금합니다.
1. 인스타그램 클론 작동시키기 1) backend 마지막 강의까지 완료된 코드 frontend: backend에서 static: 프론트앤드 파트 예제파일 업로드 다운로드 받았습니다. backend: 마지막까지 완성된 수정 코드 어디서 받을 수 있는지 알고 싶습니다. 2) backend 마지막 강의까지 완료된 코드로 배포해서 구현하기 제로베이스 기준에서 어떤어떤 강의를 듣고 환경을 설정해야 마지막 배포까지 할 수 있는지 알려주시면 직접 배포해서 환경에서 돌아가는 것 까지 스스로 해보고 싶습니다. 2. 제주도 카페 클론 작동시키기 기초 :: Django 에서 기초 전체 소스코드 다운 받았습니다. 마찬가지로 어떤어떤 강의를 보고 최소한의 세팅을 해야 배포까지 해서 작동하는지 알고 싶습니다. 30분 요약시리즈부터 맨앞부터 하는데 frontend가 끝나니까 벌써 조금 지쳐서 힘들어서 보고 싶어지네요.. 감사합니다~~
-
해결됨파이썬 사용자를 위한 웹개발 입문 A to Z Django + Bootstrap
질문이 있습니다.
가상머신을 만들어냈지만 제가 만들어낸 venv 폴더에는 수업과는 다르게 구멍이 뚫려있지 않는 모습입니다. 그래서 .gitignore과 db.sqlite3가 인식이 안 되는 것 같은데 어떤 부분이 문제인지 궁금합니다.
-
해결됨Vue.js - Django 연동 웹 프로그래밍
a 태그 관련 문의드립니다.
제가 다른 페이지로 링크를 위해 예를 들어 아래와 같이 작성을 했는데요. <div v-for="test in tests"> <a href="{% url 'aa:aa-list' [[test.id]] %}>링크</a> </div> 이런 경우 [[test.id]]가 django template에 적용이 안되는거 같은데 혹시 해결할 수 있는 방법이 있을까요? ㅠㅠ
-
미해결인스타그램 클론 - full stack 웹 개발
강의영상이 안나와요 ㅠㅠ
새글|수정|삭제 :: forms 여기 파트 강의영상이 죄송합니다 이 동영상은 잠시 후 시청 가능합니다. 이러면서 영상이 안나옵니다.. 빠르게 수정 부탁드려요
-
미해결파이썬으로 장고(Django) 공략하기: 입문
질문입니다!
1. urls.py가 두개인데, 두개의 차이점이 뭔가요? 2. path('select/')가 들어가는 '' 부분에는 어떤게 들어가는건가요??? 파이썬 list를 index하는 것은 알지만, 이건 어떻게 쓰인건지 잘 모르겠습니다ㅠㅠ단순히 위치를 불러오는 건 views.가 해주는 것 같은데.. 2+(아 다시 생각해보니까 'select'가 도메인의 주소가 되는건가요? 그러면 뒤의 name은 뭐를 뜻하는건가요?)