首页>>后端>>Python->django怎么调试(django如何debug)

django怎么调试(django如何debug)

时间:2023-12-01 本站 点击:0

今天首席CTO笔记来给各位分享关于django怎么调试的相关内容,其中也会对django如何debug进行详细介绍,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

1、如何在Eclipse中利用pydev调试Django2、如何利用pycharm调试Django3、如何直接在浏览器中查看和调试Django4、求Django大神帮忙,如何才能调试出。5、linux django uwsgi+nginx 怎么调试

如何在Eclipse中利用pydev调试Django

1.    调试环境安装

Ø       PyDev插件安装

在主菜单“Help”—“Software updates…”中添加http //pydev sf net/updates自动下载安装。

Ø       安装完毕配置

在主菜单“window”—“preference”中

2.    创建Pydev Django project

Ø       创建新的

如果已经有了一个django的目录结构,要生成eclipse的工程,可以通过

或者

新建工程。

创建一个即可。

Ø       导入已创建的

如果已有一个eclipse django project指向该目录,可以通过导入方式来引用该project。

Ø       工程设置

工程新建或导入完毕,在工程右键中,选择“属性”,继续配置工程:

顺便配置下project type:

3.    调试设置

可以通过如下配置来实现Web调试,或者一个功能单独调试:

Ø       Web调试方式配置

Web调试,实际上就是选用内部的“manage.py runserver --noreload”功能进行调试。

设置完毕,再每次运行该调试选项即可。运行后控制台中出现如下说明:

然后在浏览器中选定录入等相关URL,在需要调试地方打断点即可。

在pydev中调试,修改代码后不能立刻起作用,必须重新调试才行。这也是 noreload的作用。

Ø       单个功能验证

有时只想单独运行某个功能,可以将该功能单独弄一个python函数进行运行。Python的函数调试很简单;但是对于django,因为脱离了Web的配置,调试一个django函数的时候总是因为找不到相关的设置而失败,可以在代码中指定该设置即可。

测试函数:

#导入django project设置

#django.bin.mypython为django工程所在目录

import os

os.environ['DJANGO_SETTINGS_MODULE']='django.bin.mypython.settings'

#说明,如果用到序列化方法,上述方法会提示很多应用模块找不到;

#建议采用如下方法是最好的

from django.core.management import setup_environ

import django.bin.mypython.settings

setup_environ(django.bin.mypython.settings)

#但是最后会出现“Exception exceptions.AttributeError: "'NoneType' object #has no attribute 'print_exc'" in bound method Signal._remove_receiver #of django.dispatch.dispatcher.Signal object at 0x01476890 ignored”。#无解。

#测试函数,注意没有web调用的request等

from django.core import serializers

from mypython.addressbook.models import Address

def test():

objs = Address.objects.all()

str = serializers.serialize("json", objs) #序列化为json对象

print str

#运行测试函数

test()

设置调试项

然后运行即可。

可以借由此进行测试先行,单元测试。

如何利用pycharm调试Django

虽然用的pycharm是付费的,但是自从发现它预置的终端打印unicode字符串会出现半个之后,我就开始回归用终端调试了。 首先,用print。 然后,用import pprint; pprint.pprint(xxx)。 最后,用import pdb; pdb.set_trace(),加断点,调试。

如何直接在浏览器中查看和调试Django

按照官网指导安装好django

启动本地服务

浏览器输入链接便可以访问

当改变代码时,相应的页面便会发生变化,可以讲代码调试部分作为页面输出,这样便可以看到执行结果

主要参考官网指导part1便可以

求Django大神帮忙,如何才能调试出。

提示很清楚了,没有settings模块(settings可能是django.conf文件夹中的,也能是你项目的settings.py文件)首先要找到出错的文件,可以截个错误图?

linux django uwsgi+nginx 怎么调试

1. python和django的环境搭建

(1)下载anaconda3并安装

wget

sh Anaconda3-2.3.0-Linux-x86_64.sh

一路enter键,然后提示是否加入到环境变量时,输入yes即可。

(2)安装django

直接pip install django

安装成功之后就可以新建项目

django-admin startproject demosite

cd demosite

python manage.py startapp blog

python manage.py migrate (要执行这个命令,让django生成可运行的app,否则后面使用uwsgi会报错)

(3)运行django

python manage.py runserver

curl 127.0.0.1:8000进行如果可以正常访问,就说明django安装成功。

2. 安装uwsgi

(1)centOS

yum install zlib-devel bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel

pip install uwsgi

uwsgi --version #查看 uwsgi 版本

(2)test.py

然后,Run uWSGI:

uwsgi --http :8000 --wsgi-file test.py

def application(env, start_response):

start_response('200 OK', [('Content-Type','text/html')])

return ["Hello World"] # python2

#return [b"Hello World"] # python3

(3)ubuntu可以能会出现错误:

如果出现错误,!!! no internal routing support, rebuild with pcre support !!!

sudo apt-get install libpcre3 libpcre3-dev

sudo pip uninstall uwsgi

sudo apt-get remove uwsgi

sudo pip install uwsgi

(4)测试

1) 打开下面url,浏览器上应该显示hello world

curl 如果安装httpie模块的话使用http

如果显示正确是Hello World,说明上面的环节是畅通的

2) 测试django

默认使用django新建工程会在app下面生成一个wsgi.py的文件

uwsgi --http :8000 --wsgi-file wsgi.py 直接这样也会报错

uwsgi --http :8000 --wsgi-file appname/wsgi.py

打开浏览器输入 如果现实正确说明web client --uwsgi --- django是畅通的

3. 安装配置nginx

(1)安装

wget

tar xf nginx-1.9.5.tar.gz

cd nginx-1.9.5

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_gzip_static_module

make make install

或者参考

(2)配置文件

vi /usr/local/nginx/conf/nginx.conf

一般来说加入个server就OK了

参考配置如下

user root;

worker_processes 1;

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

pid logs/nginx.pid;

events {

use epoll;

worker_connections 65535;

}

http {

include mime.types;

default_type application/octet-stream;

#log_format main '$remote_addr - $remote_user [$time_local] "$request" '

# '$status $body_bytes_sent "$http_referer" '

# '"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;

sendfile on;

#tcp_nopush on;

#keepalive_timeout 0;

keepalive_timeout 65;

#gzip on;

server {

listen 8099;

server_name 10.117.52.157; ##对外访问的IP和端口号

access_log /tmp/cms/access.log;

error_log /tmp/cms/error.log;

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

include uwsgi_params;

uwsgi_pass 127.0.0.1:8088;

uwsgi_read_timeout 300;

}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html

#

#error_page 500 502 503 504 /registration/500.html;

#location = /registration/500.html {

# root html;

#}

location /static/ {

alias /root/cms/cms/static/;

index index.html index.htm;

}

location /media/ {

alias /root/cms/cms/media/;

}

}

}

(3)运行and 重启

/usr/local/nginx/sbin/nginx

启动: nginx start

重启: nginx -s reload

4. 使用uwsgi的配置文件运行django

在确保nginx运行之后,就可以通过uwsgi来运行django了。nginx 在最外层接收请求,静态的自己处理,动态的通过 socket端口交给uwsgi来处理。

配置文件内容如下

[uwsgi]

socket=:8088 #要和nginx对应的IP和端口号一致

chdir=/root/cms/cms #APP的目录

module=cms.wsgi #wsgi.py文件位置

touch-reload=/root/cms/cms/reload #重启只要输入命令touch reload文件即可

processes=4

threads=2

daemonize=/tmp/cms/wsgi.log #日志文件位置

放在APP的上一级目录

直接运行uwsgi --ini uwsgi.ini 即可

结语:以上就是首席CTO笔记为大家介绍的关于django怎么调试和django如何debug的全部内容了,希望对大家有所帮助,如果你还想了解更多这方面的信息,记得收藏关注本站。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/5571.html