Django 질문 및 답변

TopInsert 방식입니다.


Django로 프로젝트 my_project를 만들었습니다. 그리고, 그 안에 app_a 와 app_b 두개의 어플리케이션을 만들었습니다.

app_a 와 app_b 의 중복되는 부분이 많아서, 중복되는 부분만을 처리하는 app_c를 따로 만들었습니다. 그래서, 실제 app_a 의 urls.py 를 보면, 특정 view를 곧바로 app_c 의 것을 사용하도록 되어 있습니다.

이런 방식으로 동작하는 몇몇 app_c의 view에서 원래 호출한 app_a의 application name을 알아야 할 경우가 생겼습니다. 어떻게 app_a 의 이름을 알아낼 수 있을까요?

일단, 제가 시도했던 방법 한가지는 다음과 같습니다.

Toggle line numbers
   1 from django.core.urlresolvers import reverse
   2 def current_app_url():
   3     return reverse('app_c.views.v1')

위처럼 app_c.views.v1 을 가리키는 URL로 부터, 이름을 유추하여했으나, 간혹 찾지 못하는 경우가 생깁니다. (아마도 [Recursion] 관련오류인듯)

어떻게 깔끔하게 app_a 의 이름을 알 수 있을까요? 예컨데, 동작중인 urls.py 의 디렉토리명이면 되는데.. 어찌 그값을 가져올 수 있을지...

-- yong27 2007-11-27 17:27:52


장고 책 언제 나오나요?


한글사용에 대해 질문하나 더 드릴께요. 현재 우분투 사용중이어서 콘솔한글환경은 UTF-8인데요, 템플릿엔진에 변수를 넘길때 '한글'을 넘기면 잘 나오는 반면에 u'한글' 또는 u'한글'.encode('UTF-8')하면 글씨가 깨지는 현상이 있습니다. 어떻게 해결할 수 있을까요?

# encoding:UTF-8을 넣으니 해결되었습니다. 감사합니다


프로젝트 생성시 가장 상단에 자동으로 생성되는 urls.py를 다음과 같이 고치고 테스트 했는데 다음과 같은 에러가 나옵니다.

Toggle line numbers
   1 from django.conf.urls.defaults import *
   2 import datetime
   3 from django.shortcuts import render_to_response
   4 
   5 def current_datetime(request):
   6     now = datetime.datetime.now()
   7     return render_to_response('current_datetime.html', {'current_date': now})
   8 
   9 urlpatterns = patterns('',
  10     # Example:
  11     # (r'^test2/', include('test2.apps.foo.urls.foo')),
  12 
  13     # Uncomment this for admin:
  14     (r'^admin/', include('django.contrib.admin.urls')),
  15     (r'^test/', 'current_datetime'),
  16 )

ValueError at /test/
substring not found
Request Method:         GET
Request URL:    http://127.0.0.1:8000/test/
Exception Type:         ValueError
Exception Value:        substring not found
Exception Location:     /usr/lib/python2.4/site-packages/Django-0.95.1-py2.4.egg/django/core/urlresolvers.py in get_mod_func, line 23

substring에러라는데 어떤 에러인가요?

작은 따옴표를 제거했는데 이제는 이런 에러가 나오네요. 이런 문제가 생겼을때 질문할 수 있는곳이 있다는게 너무 감사할 따름입니다. 수고 하시고요. yong27님 파이썬광장에서의 사진은 꽤 인상적이었습니다.

AttributeError at /test/
'function' object has no attribute 'rindex'
Request Method:         GET
Request URL:    http://127.0.0.1:8000/test/
Exception Type:         AttributeError
Exception Value:        'function' object has no attribute 'rindex'
Exception Location:     /usr/lib/python2.4/site-packages/Django-0.95.1-py2.4.egg/django/core/urlresolvers.py in get_mod_func, line 23

결국 해결 했습니다 urls.py에서 함수를 직접 넘기는 것은 약간의 문제가 있는것 같아 보입니다. views.py파일안에 넣었더니 작 작동하는것을 확인할 수 있었습니다.

구글링 결과 다음과 같은 URL을 찾을수 있었습니다. http://www.nabble.com/'function'-object-has-no-attribute-'rindex'-t2884548.html 영어가 짧아 대략 읽어본 바로는 최신버전의 django를 사용해달라라는것 같은데 0.95.1버전이 최신버전 아닌가요?


인실리코젠이 장고 확산에 일등공신이라는 느낌이 듭니다. 앞으로 장고에 대해 세미나 혹은 강좌를 계획하고 계신것이 있나요?


admin시스템을 사용하려고 설정을 하고 로그인을 했는데 다음과 같은 에러를 만났습니다

ProgrammingError at /admin/
(1146, "Table 'django_test.django_admin_log' doesn't exist")
Request Method:         GET
Request URL:    http://127.0.0.1:8000/admin/
Exception Type:         ProgrammingError
Exception Value:        (1146, "Table 'django_test.django_admin_log' doesn't exist")
Exception Location:     /usr/lib/python2.4/site-packages/MySQLdb/connections.py in defaulterrorhandler, line 35
Template error

In template /usr/lib/python2.4/site-packages/Django-0.95.1-py2.4.egg/django/contrib/admin/templates/admin/index.html, error at line 56

어떤 문제 때문인가요?


계속 장고에 대해 질문하게 되네요 장고를 학습하기가 여의치 않습니다. django book과 공식 홈페이지의 문서를 참조중인데 완전히 독립된 [MVC]에 적응이 잘 안되네요. 어떻게 하면 장고를 효과적으로 학습할수 있을까요?


Django기반으로된 게시판 혹은 블로그가 있을까요?


PHP로만 웹개발을 한지 6개월 된것 같습니다. 사실 PHP는 웹 개발을 위한 스크립트의 형식이 강해 본인의 의지에 의하지 않으면 스파게티코드 가 될수밖에 없는 구조를 가지고 있다고 생각됩니다. 그래서 요즘 체계적인 개발과 반복적인 작업을 줄이기 위한 방편으로 프레임워크를 알아보 다 Django를 찾게 되었습니다. 그러나 궁금한 점은 Django를 통해 원하는 개발을 모두 할 수 있는지 입니다. 예를 들어 쇼핑몰을 개발한다던가, 단순한 홈페이지 형식이 아닌 웹 어플리케이션([ERP]등등)이 가능하냐는 것입니다.

Django/QnA (last edited 2011-08-03 11:00:49 by localhost)