Class 'Post' has no 'objects' memberpylint(no-member) 라는 에러메시지

 

vscode의 에러라고

https://motokoluv.github.io/django/django-5

 

models.py에 

objects = models.Manager() 를 입력해주면 해결된다!

 

 

git pull 을 했더니 이런 에러 메시지가 나온다.

 

error: Your local changes to the following files would be overwritten by merge: mysite/settings.py

Please, commit your changes or stash them before you can merge.

Aborting

 

https://jybaek.tistory.com/389

 git pull 을 할 때 다른 사람과의 commit이 일어나기도 한다고...

> git stash

를 하면 아래처럼 나온다. 이메일과 아이디를 다시 입력하고,

git pull을 하면!!

또 에러라고? 아 git stash를 해야지.

다시 git stash를 하고 나면,

 

Saved working directory and index state WIP on master: c0ee4df My Django app, first commitHEAD is now at c0ee4df My Django app, first commit

 

뭔가를 했다고 한다.

> git pull 하면 잘 된다.

설정 제대로 하기 - 킹갓설명

https://youtu.be/Y4c4ickks2A

 

 

< 오늘 할일 >

- "hello, world!"라는 말이 웹페이지에 뜨게 할 것이다.

 

< 만드는 방법 >

- 폴더(polls)를 만든다.

- views라는 곳에 쓰고 싶은 내용(hello, world)을 쓴다.

- views의 내용을 상위폴더(mysite)에서 가져올 수 있도록 urls로 연결한다.

- 이를 위해, polls폴더의 urls와 mysite의 urls를 연결한다.

 

< 실제 구동되는 방식은 이럴 것 같다 >

- http://127.0.0.1:8000/polls/을 입력하면

- mysite의 urls.py은 polls의 urls.py를 호출한다.

- polls의 urls.py에서는 views의 index를 호출한다.

- views의 index에서는 HttpResponse로 "Hello, world~"를 출력한다.

- 웹페이지에 나타난다.

 

 

[polls 폴더만들기 / VSCODE / startapp polls 실행 안됨]

 

https://docs.djangoproject.com/ko/2.1/intro/tutorial01/

 

외부로 나가는 명령을 명령프롬프트에 써야할 때다.

다음의 명령을 VSCODE의 터미널에 입력하면 실행이 안된다.

> python manage.py startapp polls

옳커니, 명령프롬프트에서는 실행이 된다.

vscode를 보니 polls 폴더가 생성되었다.

[polls - views.py 작성]

polls 폴더를 열어서, views.py를 연다.

 

# 작성
from django.http import HttpResponse

def index(request) :
    return HttpResponse("Hello, world. You're at the polls index.")
    
# 나의 해석
django.http라는 기능모음에서 HttpResponse 기능을 꺼내 사용한다.

index라는 함수를 만든다(def). 요청이 들어오면(request) 작동한다.
  작동되면 Http응답(response)을 보낸다(return). 그 내용은 ("Hello, ~index.") 이다.

[polls - urls.py 작성]

polls 폴더에 새파일 urls.py를 만든다.

그 안에 작성한다.

이 작업으로 url경로를 응답이 들어오면, views를 출력하도록 만든다.

# 작성
from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name='index'),
]
# 나의 해석

django.urls 기능모음에서 path기능을 꺼내쓴다.

. 기능모음에서 views기능을 꺼내쓴다.



주소패턴(urlpatterns)은 경로(path)를 불러온다.

   전체경로에 빈칸(''), 즉 다른 주소가 안 붙으면, views에서 index함수를 불러온다.  == 127.0.0.1 : 8000 이면 출력된다.

   url경로의 이름은 index 이다.

 

참고 - https://tutorial.djangogirls.org/ko/django_urls/

 

 

[mysite - urls.py 작성]

# 작성
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
	path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]
#해석

기존에 작성되어있는 admin은 관리자 부분이므로, 일단 패스.
django.urls 기능모음에서 include와 path를 사용할 것

주소패턴(urlpatterns)은 첫번째경로는 127.0.0.1:8000/polls/로 들어오면 polls.urls로 전송할 것.
두번째는 +admin/ 으로 들어오면 관리자페이지로 들어갈 것.

https://programmers.co.kr/learn/courses/6/lessons/467

  • app - 웹사이트를 기능별로 분류해놓은 단위
  • urlpatterns - 서버에 요청이 들어온 경우, 담당자를 지정하는 역할. url(주소, 주소에 접속하면 실행될 명령어)
  • include - 앱 접속을 위해 씁니다.

 

 

[서버연결]

각 .py 마다 저장(Ctrl+S)을 한다. 그래야 수정한 것들이 반영이 된다.

안하면 오류남.

 

명령프롬프트를 열어, 서버를 연결한다.

> python manage.py runserver

 

127.0.0.1:8000을 입력하면, 페이지가 없다고 나온다. 

이유는 우리가 작성하면서 8000 이후의 경로를 지정해주었기 때문이다.

8000까지만 입력했을때 즉  mysite의 urls에 path('', ~~)로 설정해주어야 이 주소를 사용할 수 있다.

127.0.0.1:8000/polls/를 입력하면, 우리가 views에 입력한 내용이 나타난다!

"Hello, world." 라는 문장은 언제봐도 설레는 문장이다.

127.0.0.1:8000/admin/을 입력하면, 관리자페이지가 나타난다.

 

[마지막 정리]

이렇게 연결이 되어있는 것이다.

'프로그래밍 > Django' 카테고리의 다른 글

pythonanywhere/Django/git pull error  (0) 2019.07.10
pythonanywhere/django/배포에러  (0) 2019.07.09
Djangoproject 따라하기 / Visual Studio Code  (0) 2019.06.26
Programmers 1일차  (0) 2018.11.21
1. Django 프로젝트생성  (0) 2018.11.14

하루가 후회스러워, 벼락치기 하듯 글을 쓴다.

 

Django

https://docs.djangoproject.com/ko/2.2/intro/tutorial01/

 

[명령프롬프트 열기]

* 윈도우키 누르면 시작메뉴가 열림 - cmd 입력 - enter

 

[장고 설치하기]

가장 친절한 글

https://tutorial.djangogirls.org/ko/django_installation/

 

내가 쓴글

https://daily-error.tistory.com/5

 

[장고 버전 확인하기]

python -m django --version

[장고 폴더 만들기]

django-admin startproject mysite

[만든 폴더 확인하기]

cd mysite

잘되었다면 명령프롬프트를 종료한다. 

[VSCODE에 작업영역 추가하기]

 

[Python interpreter 연결안됨/선택안됨]

어느 Python을 쓸거니? 라고 묻는.. Select를 누른다.

나는 하나밖에 없다.

 

그랬더니 .vscode라는 곳이 생기면서, settings.json이 등장.

열어보니 파이썬 경로를 입력해주었다. 나중에 세팅을 변경할 때 여기에다가 하는 것 같더라.

 

폴더를 열어보면, 

__init__.py : 비어두는 곳

settings.py : 환경설정하는 곳

urls.py : url 연결해놓는 곳

wsgi.py : 웹서버랑 연결하는 곳

manage.py : 관리하는 곳

인 것 같다.

[테스트 환경실행]

이제 터미널을 열어 명령어를 입력한다.

(사실 이런 외부 명령은 명령프롬프트에서 실행하는게 더 좋다. 이유는 다음 편에서 자세히...)

실행해보니 아나콘다에서 자동으로 콘다를 실행해준다. 이게 vscode가 아니면 내가 직접 입력해야한다.

python manage.py runserver를 입력해본다.

 

그랬더니, 자동으로 1:python 으로 바뀌고, 안내가 나온다.

http://127.0.0.1:8000/ 이라는 곳에 서버가 열렸다는 소리인 듯 하다.

그러면 들어가보자.

인터넷을 열고 아까 그 주소를 입력해본다.

짜잔- 잘되었다고..

(뭔가 추리나 문제를 맞추는 것 같다. 해당 페이지의 답은 다음 페이지의 주소가 되는.. 그런..)

 

서버를 실행했더니, 터미널에는 몇시에 접속했다-는 알림이 뜬다. F5를 눌러 새로고침하면 바로 로그?가 뜬다.

 

뭔가 바로 홈페이지가 만들어진 것 같지만, 사실 이건 나만 볼 수 있는 상태이다.

내부 서버에서 본 것이라, 개발용/확인용으로 보는 것이다.

나중에 웹서버와 도메인 등등을 사서 연결해줘야 다른 사람들도 볼 수 있게 된다.

 

오늘은 여기까지.

내일은 설문조사 앱을 만든다.

<cmd>

폴더만들기

django-admin startproject programmers


서버실행해보기

python manage.py runserver 8080


<웹>

localhost:8080 접속


<cmd>

종료

ctrl + C


앱추가

python manage.py startapp elections


<atom>

페이지요청에 응답하는 index라는 함수를 만든다.

[elections - views.py]


from django.http import HttpResponse


def index(request):

    return HttpResponse("Hello, world!")

    

1. 언제 elections앱이 실행되는가?
2. 어느 경우에 index함수가 실행되는가?


1. 

[programmers - urls.py]

urlpatterns 이란 : 서버에 요청이 들어오면 누가 처리할지 담당자를 정의함


기본으로 admin이 설정되어있음


<cmd>

python manage.py runserver 8080


<웹>

localhost:8080/admin/




하다가 안되네 .. 다음에..

기본서

https://docs.djangoproject.com/ko/2.1/intro/tutorial01/


설명이 잘되있음. 장고버전이 바뀌어서 url 대신 path를 사용해야함

https://programmers.co.kr/learn/courses/6/lessons/466#


 > django 2.0부터는 url이 아닌 path로 바뀜 

   > 바뀐 설명

   https://programmers.co.kr/learn/questions/1934



명령프롬프트(혹은 powershell 등등)에 입력.


1. 작업할 공간만들기 : 디렉토리설정

mkdir teemoproject





















  • Windows에서 Atom 설치하기

https://teamlab.github.io/Gachon_CS50_Python_KMOOC/desc/atom_windows.html

64비트 확인!


  • Atom에서 Python 실행하기 / 아톰에 파이썬 연결하기

https://github.com/TeamLab/Gachon_CS50_Python_KMOOC/blob/master/desc/atom_windows.md


* File - Setting - Install에서 아래 두 키워드 검색하여 설치

* autocomplete-python 

* script 


  • Atom 단축키

http://ondesk.tistory.com/178


  • Atom 과 Django 연결

https://medium.com/@peteryun/python-django%EB%A1%9C-%EC%9B%B9-%EC%84%9C%EB%B9%84%EC%8A%A4-%EA%B0%9C%EB%B0%9C%ED%95%98%EA%B8%B0-1-%ED%99%98%EA%B2%BD%EA%B5%AC%EC%B6%95-virtualenv-atom-django-11d6d0e62fe3



+ Recent posts