장고 서버 셋팅 중인데 Runserver 로 돌리면 괜찬은데 uwsgi 로 돌리면 이런식

 
박준용

장고 서버 셋팅 중인데 Runserver 로 돌리면 괜찬은데 uwsgi 로 돌리면 이런식의 에러가 나는데 이런류의 에러를 만나 보신적이 있으신분 없으세요??

Django Version: 1.6.2
Exception Type: ImportError
Exception Value:
No module named urls
Exception Location: /home/ubuntu/dashboard/ENV/local/lib/python2.7/site-packages/django/utils/importlib.py in import_module, line 40
Python Executable: /usr/bin/uwsgi-core
Python Version: 2.7.3
Python Path:
[‘.’,
”,
‘/home/ubuntu/dashboard/ENV/local/lib/python2.7/site-packages/distribute-0.6.24-py2.7.egg’,
‘/home/ubuntu/dashboard/ENV/local/lib/python2.7/site-packages/pip-1.1-py2.7.egg’,
‘/home/ubuntu/dashboard/ENV/lib/python2.7’,
‘/home/ubuntu/dashboard/ENV/lib/python2.7/plat-linux2’,
‘/home/ubuntu/dashboard/ENV/lib/python2.7/lib-tk’,
‘/home/ubuntu/dashboard/ENV/lib/python2.7/lib-old’,
‘/home/ubuntu/dashboard/ENV/lib/python2.7/lib-dynload’,
‘/usr/lib/python2.7’,
‘/usr/lib/python2.7/plat-linux2’,
‘/usr/lib/python2.7/lib-tk’,
‘/home/ubuntu/dashboard/ENV/local/lib/python2.7/site-packages’]
Server time: Fri, 28 Feb 2014 16:39:52 +0900

[uwsgi]
vhost = true
plugins = python27
socket = /tmp/dashboard.co.kr.sock
master = true
enable-threads = true
processes = 2
wsgi-file = /home/ubuntu/dashboard/tab/tab/wsgi.py
virtualenv = /home/ubuntu/dashboard/ENV
chdir = /home/ubuntu/dashboard/tab
touch-reload = /home/ubuntu/dashboard/tab/reload
–daemonize=/var/log/uwsgi/dashboard.co.kr.log

  • Jamie J Seol

    앱이나 프로젝트에 urls.py 가 하나 빠진거같네요

    Chinseok Lee

    경로문제 같네요. uwsgi 설정에 pythonpath 도 추가해보세요.

    pythonpath = /home/ubuntu/dashboard/tab

    박준용

    설진석이진석 감사합니다. 우선은 확인을 더 해봐야 겠네요. ㅎㅎ

    박준용

    ㅜㅜ 이진석 개선이 안되네요 ㅠㅠ 왜 이러지 ㅠㅠ

    Chinseok Lee

    저는 wsgi-file 설정은 안 썼었구요. 다음 항목을 쓰고 있습니다.

    pythonpath = 프로젝트경로
    chdir = 프로젝트경로
    module = myproject.wsgi
    callable = application

    그 외는 성능관련 설정이구요.

    박준용

    이진석 쓸때업는거 다 날리고 천천히 해봐야 겠네요. ㅠㅠ

    Hyunil Kim

    http://grokcode.com/784/how-to-setup-a-linux-nginx-uwsgi-python-django-server/

    Hyunil Kim

    https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/uwsgi/

    Hyunil Kim

    저는 요 두 문서에서 정말 많은 도움을 얻었습니다.

    박준용

    김현일 감사합니다. 잘 보겠습니다. ㅎ 아래 문서는 몇번 봤는데 위에 문서는 못보던 거라 잘 봐야 겠네요 좀 자세히 나와 있는것 같아요

    Hyunil Kim

    저두 장고 어플리케이션 deploy는 처음 해보았는데 저 문서들로 성공했습니다 ^^ 화잇팅~

    박준용

    김현일 장고에서 코딩도장 주워보고 Sockjs 하고 토네이도를 써서 회사일에 적용 시켰는데 성능은 만족스러운데 ㅎㅎ deploy 셋팅 때문에 고생이네요 다 만들어 놓고 ㅎㅎ

django 기반 서버 모니터링 솔루션인데.. 설치도 쉽고 화면도 깔끔합니다. ^^ h

 
김승호

django 기반 서버 모니터링 솔루션인데..
설치도 쉽고 화면도 깔끔합니다. ^^

http://rsaikali.github.io/django-skwissh/

  • Jung Kyoung Up

    이걸 wd my cloud에 깔아볼까 싶군요.

    Yochang Song

    좋은 자료 감사합니다 ^^

    전창진

    단일서버 모니터링만 되는건가요?

    김승호

    전창진/ 자세한 설정은 알아보지 않아서 잘 모르갰습니다. ^^;;

hey people i have some problem with django and mys

 
Jp Cast

hey people i have some problem with django and myslq.

i executed pip install mysql-python and it say that:

Downloading/unpacking mysql-python
Downloading MySQL-python-1.2.5.zip (108kB): 108kB downloaded
Running setup.py egg_info for package mysql-python
Traceback (most recent call last):
File “”, line 16, in
File “/tmp/pip_build_dominic/mysql-python/setup.py”, line 13, in
from setup_posix import get_config
File “./setup_posix.py”, line 2, in
from ConfigParser import SafeConfigParser
ImportError: No module named ‘ConfigParser’
Complete output from command python setup.py egg_info:
Traceback (most recent call last):

File “”, line 16, in

File “/tmp/pip_build_dominic/mysql-python/setup.py”, line 13, in

from setup_posix import get_config

File “./setup_posix.py”, line 2, in

from ConfigParser import SafeConfigParser

ImportError: No module named ‘ConfigParser’

—————————————-
Cleaning up…
Command python setup.py egg_info failed with error code 1 in /tmp/pip_build_dominic/mysql-python
Storing complete log in /home/dominic/.pip/pip.log

any idea?

  • Han Cold Kim

    What is your OS?

    Jp Cast

    arch-linux

    Jp Cast

    i am using this guide http://www.tutorialspoint.com/python/python_database_access.htm

    Han Cold Kim

    What is your version of Python?

    Jp Cast

    my python version is 3.3.1

    Han Cold Kim

    Hmm… I just find out this: http://stackoverflow.com/questions/14087598/python-3-3-importerror-no-module-named-configparser/

    “In Python 3, ConfigParser has been renamed to configparser for PEP 8 compliance. It looks like the package you are installing does not support Python 3.”

    Jp Cast

    ok (Y)

    Jp Cast

    mmm but know i have a SyntaxError: invalid syntax

    File “/usr/lib/python3.3/site-packages/MySQL_python-1.2.4b4-py3.3-linux-x86_64.egg/MySQLdb/cursors.py”, line 188
    except TypeError, m:

    and others lines

    Jp Cast

    MySQL-python does not currently support Python 3

현재 Django Rest Framework를 사용해서 API를 만들고 django-res

 
Yuk Seungchan

현재 Django Rest Framework를 사용해서 API를 만들고 django-rest-swagger를 이용해서 doc을 만들고 있습니다.

Token 인증을 사용하는데 doc을 보여주는 swagger에서 인증을 사용하는 API는 response가 인증하라고 나오는데 doc내에서 인증을 할 수 있는 부분이 있나요?

간단한 질문인데 이해가 안가서 확인 요청 드립니다. views.py에서, … retur

 
홍현화

간단한 질문인데 이해가 안가서 확인 요청 드립니다.
views.py에서,

return_data = {
‘total_cpu’:basic_result[0],
‘total_ram’:basic_result[1],
‘total_hdd’:basic_result[2]
}
return HttpResponse(simplejson.dumps(return_data,separators=(‘,’, ‘:’),sort_keys=True))

이 데이타를 html에서 받아주는데,
function (data) { …
document.getElementById(“sCpu”).innerHTML = data[“total_cpu”];
document.getElementById(“sRam”).innerHTML = data[“total_ram”];
document.getElementById(“sHdd”).innerHTML = data[“total_hdd”];
…}

확인해보면 왜 다 undefined로 처리되는 걸까요?
return_data에서 데이타는 ‘total_cpu’:[basic_result[0]]도 해보고 ‘total_cpu’:basic_result[0] 도 해봤는데 동일 합니다.
실제 data을 확인해보면 {“total_cpu”:”CPU info: Intel(R)Core(TM)CPU540@ (The number of same CPUs: 4 ea)”,”total_hdd”:”HDD info: 736.28GB”,”total_ram”:”MEM info: 3GB”} 데이타가 들어와 있습니다.

  • 홍현화

    Firebug을 통한 응답코드를 확인해 보면 아래와 같습니다.
    POST http://monitor.qa.com/ajax/save

    200 OK
    1.81s
    jquery.min.js (6째 줄)
    헤더Post응답HTMLJSON
    Sort by key

    total_cpu
    “CPU info: Intel(R)Core(…ber of same CPUs: 4 ea)”

    total_hdd
    “HDD info: 736.28GB”

    total_ram
    “MEM info: 3GB”

    total_cpu,total_hdd 그리고 total_ram 값은 red marking되어 있습니다.

    Chinseok Lee

    저 자바스크립트 함수에 적절히 인자가 안 넘겨지는 듯 합니다. // 자바스크립트 함수내에서 data 를 찍어보세요. console.log(data); 아마 data 가 undefined 이거나, jqXHR 타입 변수이거나요.

    홍현화

    data을 alerting 했을때 {“total_cpu”:”CPU info: Intel(R)Core(TM)CPU540@ (The number of same CPUs: 4 ea)”,”total_hdd”:”HDD info: 736.28GB”,”total_ram”:”MEM info: 3GB”} 라고 정확히 print 됩니다. 다만 key 값에 따른 처리가 왜 안되는지 모르겠네요;

    Chinseok Lee

    data 가 object 가 아니라 string 인듯 합니다. jquery ajax 를 쓰셨다면, dataType: “json” 으로 설정해보세요.

    Chinseok Lee

    혹은 직접 파싱할 수도 있구요.

    var obj = JSON.parse(data);
    console.log(obj.total_cpu);

    홍현화

    ajax을 사용하였습니다.
    $ajax = $(document).ready(function(){
    $.ajax({
    type : ‘POST’,
    url : “http://127.0.0.1:9797/ajax/save”,
    data : {“address”:address,
    “port”:port,
    “id”:id,
    “pass”:pass
    },
    dataType: “json”,
    async: false,
    success : function (data) {
    if (data) {

    eS = document.getElementById(“mServerlists”);
    eS.style.display = “none”
    eL = document.getElementById(“mLists”);
    eL.style.display = “block”
    var result = data.responseText.evalJSON(true);
    document.getElementById(“sCpu”).innerHTML = result[“total_cpu”]; document.getElementById(“sRam”).innerHTML = result[“total_ram”]; document.getElementById(“sHdd”).innerHTML = data[“total_hdd”];
    } else { …

    홍현화

    위처럼 내용이 되어 있으며 이진석님이 주신 내용으로 파싱시, SyntaxError: JSON.parse: unexpected character 처럼 에러가 발생합니다.

    Chinseok Lee

    success 콜백에서 data 변수를 잘 확인해보세요. 적절히 처리된 것이라면 string 이 아니라, object 타입이 되어야 합니다.

    아래 스크린샷은 flask, jquery 로 간략히 만들어본 코드입니다. 간단한 코드이기 때문에 django 코드와 별반 차이 없습니다.

    Chinseok Lee

    디버깅 시에 alert 창을 쓰시기보다, 브라우저 자바스크립트 콘솔창을 써보시면, 디버깅이 훨씬 수월하실 겁니다.

    홍현화

    알려주신 조언대로 확인한 결과, 하나씩 확인해보니, 현재는 정상적으로 동작합니다. 감사합니다. ^^)

settings.py 에 AUTH_USER_MODEL = ‘customApp.CustomU

 
공태진

settings.py 에
AUTH_USER_MODEL = ‘customApp.CustomUser’
AUTHENTICATION_BACKENDS = (‘customApp.backends.CustomUserAuth’,)

models.py 에
class CustomUser(AbstractBaseUser):
email = models.EmailField(blank=True, unique=True)
….

이런식으로 Custom User Model 만들게 되면
view 함수들에서 login 된 사용자를 식별하는 is_authenticated() 메소드를 사용할 수 없게 되나요??

  • Han Cold Kim

    아니요 사용할 수 있어요.

    Han Cold Kim

    is_authenticated()가 django.contrib.auth.models.AbstractBaseUser에 구현되어있으니 사용가능합니다.

    박인영

    할수 있어요!