51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师【长期招募】博为峰网校招聘兼职讲师!横扫BAT,Python全栈测试开发技能大全一站式软件测试平台
【第99期】:Python Django带你构建Web应用!【专题】安全测试中的王牌工具—Wireshark 【干货】向测试大神看齐准没错!自学软件测试那点事
查看: 1756|回复: 47

【你来问我来答第99期】:Python Django带你构建Web应用!

[复制链接]
  • TA的每日心情
    擦汗
    2018-9-29 09:25
  • 签到天数: 494 天

    连续签到: 1 天

    [LV.9]测试副司令

    发表于 2019-1-2 11:57:15 | 显示全部楼层 |阅读模式
    论坛ID:jxzdsw
    真实姓名:刘一凡
    现任公司: 深圳市风云实业有限公司成都分公司
    现任职位:技术经理
    工作经验
    计算机网络行业13年工作经验,6年软件开发经验,7年软件测试经验,8年技术管理经验。
    网络设备开发测试、物联网服务器端开发。
    主题阐述:
    框架是帮助开发者简化工作,提供一些功能来完成一些通用任务,或者提供一些资源来降低工作量。Web框架是帮助Web开发者简化工作的框架。Django是一种Web框架,用于快速开发Web应用, 提供URL映射、读写数据库(ORM)、模板、用户管理、表单管理、安全、admin、cache、测试、日志、所需中间件hook等功能。
    嘉宾推荐
    Python Django带你构建Web应用 点击进入>>>


    各位会员可以在1月10日前以回帖的方式向客座专家提问。
    (请大家围绕本期客座专家的擅长领域进行提问、探讨)
    客座专家将在1月11日—1月31日为大家集中解答。

    机会难得,欢迎大家踊跃提问!


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复

    使用道具 举报

    该用户从未签到

    发表于 2019-1-3 10:55:07 | 显示全部楼层
    django+python27+mysql的生产环境,想换成python3,请问需要哪些注意事项?生产环境数据不想被破坏,所以不敢轻易下手,希望大神指点一下
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-3 10:59:29 | 显示全部楼层
    使用django创建了一个简单的demo,运行runserver命令一直报错..

    我的操作步骤:
    diango-admin startproject zhaoxin
    在项目下创建应用:python manage.py startapp sign
    运行项目:python manage.py runserver 一直不成功

    百度了一些方法都没有解决:
    1、计算机名称改为英文
    2、manage.py 加上# -*- coding: utf-8 -*-
    …………
    谢谢老师。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-3 11:01:16 | 显示全部楼层
    使用django.comment时,为了不跳转,所以修改了一下django的原文件。在本地修改后立刻生效,但是服务器修改之后没有变化。
    服务器是Ubuntu server的。猜测是软件的缓存之类的,但是重启服务器清空缓存都没有效果。
    请问该怎么解决?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-3 11:02:42 | 显示全部楼层
    刚学习django的nginx部署,一直不清楚处理高并发的原理,大神可以解释下么,介绍个大概也可以,我可以顺着研究
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-3 11:04:32 | 显示全部楼层
    我现在系统需要一个功能,当一个任务到达某个状态时,如果24小时没有任何人操作,则自动切换到另一个状态,对每个用户是有不同的任务的,有点想百度外卖下单等待商家接单的那种,有什么可以方便django整合一起的框架吗?django-celery如何?老师有什么建议吗?谢谢。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-4 11:42:28 | 显示全部楼层
    楼主,要怎么样运行Django里的程序啊?出于比赛需要,要解释一个 Django框架里的软件,本人学java,没接触过 Python的框架?求入口在哪儿?怎么运行啊!?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-4 11:44:25 | 显示全部楼层
    老师好,想跟你请教个问题:能用django做旅游调查网站吗,通过调查班级同学的旅游意向,将信息存入数据库,然后进行简单的分析,得出最佳旅游地点,这种想法可行吗?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-4 11:46:30 | 显示全部楼层
    看到救星了!!!

    大佬好,在django的view里,有如下代码片段,其中     parse_logcover_rule.sh 中有svn co 。但奇怪的是 svn就是无法co,而且没有任何错误提示
    我在一个单独的py里执行这几句,则无问题,co也ok,就是在django的view里不行,请问是什么问题呢?

    求思路,搞了一上午了。。。。
    我用svn的绝对路径执行都不行。。。

       cmd= "cd tools; sh parse_logcover_rule.sh module_name  svn_url"
       os.system(cmd)

    万分感谢~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-4 11:50:58 | 显示全部楼层
    本来是准备开发一个web应用,主要是网站和客户端(pda)访问,现在网站使用django很方便就完成了,那在客户端(pda)上面的想法是用webservice,也不知道可以直接使用django实现。
    PS:我现在只是小白,主要是现在的项目有这个需求,看看能不能实现我这个想法,能不能不用webservice,直接django搞定,希望能得到解决方案并普及一下知识
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-4 11:52:16 | 显示全部楼层
    大神,请问如何最高效的利用django进行快速开发?或者可以说django那些部分,可以帮助实现快速开发?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-4 14:36:31 | 显示全部楼层
    韶光暗淡 发表于 2019-1-3 10:55
    django+python27+mysql的生产环境,想换成python3,请问需要哪些注意事项?生产环境数据不想被破坏,所以不 ...

    关于python升级:
    可以使用Python3自带工具2to3,将python2的代码转换为python3。少部分代码仍需手工转换。
    升级python版本后,第三方包的版本需要升级。有的第三方包不支持python3。这个时候可以尝试使用2to3工具对第三包的python源代码进行转换,然后使用。这样存在一定风险。无法转换的,需要寻找替代包,应用服务器上对应的代码需要修改。

    关于django升级:
    django1.5开始支持python3。同时django1.11是支持python2的最后的版本。如果使用的django版本大于等于1.5,则django版本可以不升级。如果django版本低于1.5,则需要升级django版本。升级django版本后,新版本不兼容的老的API都需要修改。这个工作量比较大。
    升级django版本后,为django服务的第三方包需要对应升级。建议django不要立即使用最新版本,以免第三方包还不支持最新的django版本。

    关于mysql:
    mysqldb不支持python3,需要使用mysqlclient做数据库API驱动。
    django2.0只支持myslq5.5或者更高版本

    一般性的版本升级注意事项。
    代码和数据做好备份
    python和django升级后,上线前需要充分测试。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-4 15:22:02 | 显示全部楼层
    翻车小王子 发表于 2019-1-3 10:59
    使用django创建了一个简单的demo,运行runserver命令一直报错..

    我的操作步骤:

    你好。建议使用python3.6和django2.0按讲义做试验。请贴出执行python manage.py runserver时完整的报错信息。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-4 15:24:03 | 显示全部楼层
    韶光暗淡 发表于 2019-1-3 10:55
    django+python27+mysql的生产环境,想换成python3,请问需要哪些注意事项?生产环境数据不想被破坏,所以不 ...

    你好。

    关于python升级:
    可以使用Python3自带工具2to3,将python2的代码转换为python3。少部分代码仍需手工转换。
    升级python版本后,第三方包的版本需要升级。有的第三方包不支持python3。这个时候可以尝试使用2to3工具对第三包的python源代码进行转换,然后使用。这样存在一定风险。无法转换的,需要寻找替代包,应用服务器上对应的代码需要修改。

    关于django升级:
    django1.5开始支持python3。同时django1.11是支持python2的最后的版本。如果使用的django版本大于等于1.5,则django版本可以不升级。如果django版本低于1.5,则需要升级django版本。升级django版本后,新版本不兼容的老的API都需要修改。这个工作量比较大。
    升级django版本后,为django服务的第三方包需要对应升级。建议django不要立即使用最新版本,以免第三方包还不支持最新的django版本。

    关于mysql:
    mysqldb不支持python3,需要使用mysqlclient做数据库API驱动。
    django2.0只支持myslq5.5或者更高版本

    一般性的版本升级注意事项。
    代码和数据做好备份
    python和django升级后,上线前需要充分测试。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-4 16:01:31 | 显示全部楼层
    夜未央BJ 发表于 2019-1-3 11:02
    刚学习django的nginx部署,一直不清楚处理高并发的原理,大神可以解释下么,介绍个大概也可以,我可以顺着 ...

    你好。我简单说一下我的理解。
    django WSGI是单线程的,就是说一个请求处理完了才能响应另一个请求。
    uWSGI(C语言书写)+Django相比与单独使用Django,通过多进程,发挥多核的优势,支持的并发量更高。
    the web client <-> the web server <-> the socket <-> uwsgi <-> Django
    uwsgi服务器运行在django一侧。
    uWSGI(C语言书写)+Django相比与单独使用Django,使用多进程,发挥多核的优势,支持的并发量更高。uWSGI中有master和worker进程。master进程根据配置创建相应数目的worker进程。一个worker进程被创建后,它会运行一个python解释器实例,然后在worker进程被销毁前一直使用。master将收到的http请求分配给worker处理。worker进程调用python脚本处理http请求。一个worker进程反复用于处理很多个HTTP请求。woker进程数应该大于CPU内核数。然后根据CPU利用率增加进程数目。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-4 16:26:18 | 显示全部楼层
    枫叶DN 发表于 2019-1-3 11:04
    我现在系统需要一个功能,当一个任务到达某个状态时,如果24小时没有任何人操作,则自动切换到另一个状态, ...

    你好。简单说一下我的考虑,供你参考。
    用户下单后,用户订单信息写入数据库。商家接单后,修改数据库中用户订单状态。
    关于定时器:考虑使用django-celery创建一个线程做异步处理,24小时后检查数据库中用户订单状态。如果仍然没有商家接单,则修改订单状态。但是这样可能线程太多,资源消耗太大。可以使用django-celery设置循环任务,比如每隔5分钟查询出数据库中已经超过24小时、但是仍然没有商家接单的订单,修改这些订单的状态。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-4 16:29:43 | 显示全部楼层
    安静的小莉莉 发表于 2019-1-4 11:42
    楼主,要怎么样运行Django里的程序啊?出于比赛需要,要解释一个 Django框架里的软件,本人学java,没接触 ...

    你好。这个操作我的教程“Python Django带你构建Web应用”里有。
    进入django项目根目录。python manage.py runserver运行内置的Web服务器。缺省提供服务的IP地址是127.0.0.1,端口是8000。
    如果希望对外提供服务,可以修改为真实的IP地址,例如想要使用1.1.1.1:8080对外提供服务。则在settings.py修改ALLOWED_HOSTS的内容为ALLOWED_HOSTS = [‘1.1.1.1’,]。 d:\django\web> python manage.py runserver 1.1.1.1:8000运行内置的Web服务器。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-4 16:40:38 | 显示全部楼层
    测试的小女巫 发表于 2019-1-4 11:44
    老师好,想跟你请教个问题:能用django做旅游调查网站吗,通过调查班级同学的旅游意向,将信息存入数据库, ...

    你好。
    可行。
    第一部分收集和存储信息的需求和django相关。这是一个简单的Web应用。使用表单获取同学们的旅游意向。因为数据量小,所以可以直接将数据存入SQLite数据库中。这在“Python Django带你构建Web应用”课程中有讲解。
    第二部分数据分析和结果展示,不一定需要依赖于django。根据需要从数据库中提取信息进行分析。如果分析复杂,可以使用numpy、pandas进行分析,使用matploitlib展示分析结果。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-4 17:23:49 | 显示全部楼层
    测试开心果 发表于 2019-1-4 11:50
    本来是准备开发一个web应用,主要是网站和客户端(pda)访问,现在网站使用django很方便就完成了,那在客户 ...

    你好。
    可以使用Django REST framework来实现RESTful web service。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-1-4 17:23:56 | 显示全部楼层
    测试开心果 发表于 2019-1-4 11:50
    本来是准备开发一个web应用,主要是网站和客户端(pda)访问,现在网站使用django很方便就完成了,那在客户 ...

    你好。
    可以使用Django REST framework来实现RESTful web service。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2019-1-22 02:36 , Processed in 0.077087 second(s), 30 queries .

    Powered by Discuz! X3.2

    © 2001-2018 Comsenz Inc.

    快速回复 返回顶部 返回列表