想用 Django 给学校的网上订餐系统写一个现代点的皮,问个关于 MVC 的问题 - V2EX
ujmxyd

想用 Django 给学校的网上订餐系统写一个现代点的皮,问个关于 MVC 的问题

  •  
  •   ujmxyd Nov 8, 2015 2727 views
    This topic created in 3864 days ago, the information mentioned may be changed or developed.

    学校的订餐系统页底的版权声明写着 2010 ,用 ASP.NET 写的。提交菜单后至少要 5 秒才有反应、大块的 VIEWSTATE 和 EVENTVALIDATION 。至于界面……圆角、渐变都是 gif 图。在学校首页登陆,会跳转到一个只在开了兼容性视图的 IE 工作的先清 Cookie 再登录的页面,如果用别的浏览器,便卡在那儿了。不过,它使用 CAS 来中央登陆,把 CAS 的地址挖出来便可以在其他浏览器工作了。这事儿,别人干过。放进微信公众号,写着“手机订餐”
    在此之前没写过什么正经的东西,对 Python 的语法也不甚了解,便先边查文档边用 Python 3 写了一个能够订餐的客户端。
    然后去翻了 Django 的文档。之前认为程序的逻辑都应该放在 models.py ,但看到Each model is a Python class that subclasses django.db.models.Model.,便不知道该怎么做了。还没有想去实现除了代理订餐的功能,因此菜单什么的不需要存进数据库。至于身份验证,我这儿也没有把用户名和密码存进数据库的必要。感觉不知道该把模拟登陆、拉取菜单、提交菜单这些功能放在哪里。是不是必须得用上数据库?希望有人能解答。谢谢!

    4 replies    2015-11-08 20:05:54 +08:00
    kumakiti
        1
    kumakiti  
       Nov 8, 2015
    我个人认为这些东西不需要自己用数据库,直接用学校的就好,这样学校那边更新了。自己这边也直接更新了
    ujmxyd
        2
    ujmxyd  
    OP
       Nov 8, 2015 via Android
    @kumakiti 我是这样想的,但不知该怎么去写……
    kumakiti
        3
    kumakiti  
       Nov 8, 2015   1
    模拟登陆:提供表单,提交数据,浏览器记录一下是否登录的状态
    拉取菜单:这个直接从学校那里抓
    提交菜单:提交给学校的接口就行
    wizardforcel
        4
    wizardforcel  
       Nov 8, 2015   2
    业务逻辑放在 view 里面。
    业务逻辑放在 view 里面。
    业务逻辑放在 view 里面。

    django 的 view 相当于其它框架的 controller 。

    由于你的数据是跟教务网站打交道,并不涉及到访问数据库,可以不配置任何 model 。你需要找个 url 库用于发送 http 请求,比如 urllib2 ,然后把代码封装一下给 view 调用。

    就酱紫。
    About     Help     Advertise     Blog     API     FAQ     Solana     2925 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 12:28 PVG 20:28 LAX 05:28 JFK 08:28
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86