쟝고 파이썬 웹프로그래밍

dahyoung91의 이미지

안녕하세요, 점프투파이썬으로 파이썬 문법을 보고
'(Django로 배우는 쉽고 빠른 웹 개발)파이썬 웹프로그래밍'을 정독하려 하는 사람입니다.

머릿말에서 지은이가 '필자의 실습환경'을 제시했습니다.
* Django : 버전 1.7.4
* Python : 버전 2.7.5
* Linux : CentOS 7.0
* VirtualBox : 버전 4.3
* Windows : Windows8 (Intel PC)

저도 버추얼박스에 리눅스를 올리고 연습을 해야 할까요?
제일 처음 나온 예제도 그냥 윈도우7 상에서 인터프리터로 따라해 보니
urlparse, urllib2 모듈도 임포트가 안되네요.

그리고 전 파이썬도 3.5.1 버전이거든요.
책의 예제를 따라할 때 문제가 없는건가요?

File attachments: 
첨부파일 크기
Image icon 파이썬 웹프로그래밍_김석훈 지음93.62 KB
Anti-Lock의 이미지

문제가 생겼을때 스스로 해결하실 능력과 시간이 되신다면 관계 없지만,
그렇지 않을경우, 책에 나와잇는 내용대로 환경꾸미시고 공부에 집중하는것도 좋습니다.
책이 나오고 나서 다들 버전이 올라갔기 때문에 책에 나와있는 그대로는 못하실수도 있습니다.
마이너 버전번호는 다르더라도 메이저 버전번호는 같게 해주시는게 좋겠습니다.

 의 이미지

밑에서부터,

* Windows : Windows8 (Intel PC)
* VirtualBox : 버전 4.3
위 둘은 Intel PC 조건만 제외하면 엄격하게 지킬 필요 없습니다. 더 높은 버전을 사용해도 무방합니다.

* Linux : CentOS 7.0
뭐 지금도 CentOS는 7이 최신인데요. 부득이한 사정이 없는 한 7로 가시는 걸 추천합니다.
여기서 부득이한 사정이라는 건 뭐 예컨대 "누가 이미 구버전 리눅스를 설치해 놓은 머신을 쓸 수밖에 없는데, 모종의 이유 때문에 이걸 포맷하고 재설치할 수도 없다." 뭐 이런 거죠.

* Python : 버전 2.7.5
여기서부터가 사실 문제입니다. Python 공식 홈페이지에 가 보시면 아시겠지만 Python은 현재 두 개의 메이저 버전이 있어요. 2.7.x(현재 최신은 2.7.12)와 3.x(현재 최신은 3.5.2)

점프 투 파이썬은 Python 3을 다루고 있어서 질문자님도 이것을 쓰시는 모양입니다만, 수많은 올드비 개발자들이 여전히 2.7를 고수하고 계시기 때문에 어느 한 쪽으로 통일되는 일은 요원해 보입니다.

게다가 이 두 버전은 큰 차이는 적어도 미묘한 차이가 제법 있어서 초보자들에게 혼란을 주기 십상이지요.

마침 점프 투 파이썬을 보고 계시다 하니 부록에 있는 파이썬 2.7 vs 파이썬 3(https://wikidocs.net/743)을 참조하시고요.

Django 역시 1.5부터 Python 2.x와 3.x를 모두 지원하고 있다고 하니 이쪽 문서도 참조하시기 바랍니다. (https://docs.Djangoproject.com/en/1.10/topics/python3/)

어쨌든, Django는 Python 3 사용을 권장하고 있고, 마침 질문자님도 그것을 배우셨으니 잘 된 일입니다. 미래지향적인 것은 어쨌든 바람직하지요. 다만 책에 있는 Python 2.7.x 코드를 적절히 Python 3으로 변환하는 연습을 하셔야 하겠습니다. (아직도 Python 2.7.x 레거시 코드가 인터넷에 많이 돌아다니므로 이는 꼭 필요한 연습이라고 해도 되겠습니다.)

* Django : 버전 1.7.4
사실 이것도 문제입니다. 지금 Django 최신 버전은 1.10.4거든요. 활발히 개발되는 오픈소스 프로젝트들이 하위 호환성에 비중을 덜 두는 현상이야 뭐 새삼스러울 것도 없지요.

Django documentation 페이지(https://docs.djangoproject.com/en/1.10/)를 보면 Django over time이라고 해서 API stability(https://docs.djangoproject.com/en/1.10/misc/api-stability/), Release notes and upgrading instructions(https://docs.djangoproject.com/en/1.10/releases/), Deprecation Timeline(https://docs.djangoproject.com/en/1.10/internals/deprecation/) 등을 확인할 수 있고, 이를 통해 Django 버전에 따른 변화를 추적할 수 있을 겁니다.

근데 그건 Django에 어느 정도 익숙해지고 난 뒤의 일이고, 지금 당장은 어차피 배우려고 실습하는 거니까 그냥 책에서 사용한 버전인 1.7.4로 쓰세요. 안 그러면 진짜 얼토당토않게 책에 나와 있는 설정이 안 먹혀서 한참 삽질하고 알고 보니까 버전업하면서 그 속성이 없어졌거나 이름이 바뀌었거나 하는 일이 심심찮게 일어납니다. 이러면 진짜 화나죠.

단, 다운로드 페이지(https://www.djangoproject.com/download/)에도 나와 있듯이 1.7.x는 현재 시점에서 지원이 끊겼습니다. 나중에 실제 서비스를 구현할 때는 좀 더 새로운 버전을 이용해야겠지요.

익명 사용자의 이미지

상세한 설명 감사합니다!!! 책에 나온대로 최대한 환경 꾸며서 해야겠네요 ㅠㅠ

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.