V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ujmxyd
V2EX  ›  问与答

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

  •  
  •   ujmxyd · 2015-11-08 18:24:56 +08:00 · 2247 次点击
    这是一个创建于 3302 天前的主题,其中的信息可能已经有所发展或是发生改变。

    学校的订餐系统页底的版权声明写着 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 条回复    2015-11-08 20:05:54 +08:00
    kumakiti
        1
    kumakiti  
       2015-11-08 18:28:56 +08:00
    我个人认为这些东西不需要自己用数据库,直接用学校的就好,这样学校那边更新了。自己这边也直接更新了
    ujmxyd
        2
    ujmxyd  
    OP
       2015-11-08 19:49:23 +08:00 via Android
    @kumakiti 我是这样想的,但不知该怎么去写……
    kumakiti
        3
    kumakiti  
       2015-11-08 20:04:55 +08:00   ❤️ 1
    模拟登陆:提供表单,提交数据,浏览器记录一下是否登录的状态
    拉取菜单:这个直接从学校那里抓
    提交菜单:提交给学校的接口就行
    wizardforcel
        4
    wizardforcel  
       2015-11-08 20:05:54 +08:00   ❤️ 2
    业务逻辑放在 view 里面。
    业务逻辑放在 view 里面。
    业务逻辑放在 view 里面。

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

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

    就酱紫。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2771 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 05:46 · PVG 13:46 · LAX 21:46 · JFK 00:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.