使用Django或jQueryMobile创建响应式Web应用程序?

时间:2013-11-05 13:12:05

标签: python django responsive-design

我有一个更大的项目要处理,所以这就是我想要做的事情:

我有一个服务器,其中运行了MySQL数据库和Apache网络服务器。我将一些机器信息数据保存在数据库中,并希望创建一个Web应用程序来查看,例如。 G。如果机器正在运行。

网络应用应设计为响应,i。即根据当前使用的设备的屏幕分辨率改变设计。这很重要,因为该应用程序主要用于智能手机和平板电脑,但也应该在普通电脑上使用。

我为我的机器编写了一个Python程序来获取数据,另一个Python程序在我的服务器上接收信息并保存在数据库中。 所以我现在的工作是为我的智能手机等创建“响应式网站”。 然后我想用我的网络服务器广播这个。

另一点是,网络应用应该动态构建。 如果我将另一台计算机添加到我的数据库中,它应该显示在我的网络应用程序上以便可点击,然后显示相关信息。

首先,我考虑使用HTML5CSS3jQueryMobile中执行此操作。 但我从未使用javascript。我刚刚体验过“旧”HTMLCSS

Django是一个更好的选择,因为我在Python中经验丰富吗? 或者我是否也需要两者? 我还没有使用任何webframework,请帮我选择。
或者我需要一个吗?

3 个答案:

答案 0 :(得分:1)

看起来您的服务器层可以获取服务器信息并在数据库中存储信息。用python完成。

现在,如果我能恢复,你需要:

  1. 一个反复的网络客户端
  2. 通知功能
  3. 动态显示html元素的新集
  4. 基于此,我怀疑你会找到一个完整的已经打包的解决方案。 Django应该具有这种功能,但它不是我最喜欢的这种自定义要求的方法。

    如果我必须这样做,我会使用:

    1. 用于管理通知的服务器端代码的NodeJS
    2. AngularJS用于客户端管理客户端(!)和使用指令清理动态DOM操作。
    3. CSS框架,如Foundation或Bootstrap,其中响应是原生的
    4. 我要做的是:

      初始阶段

      1. 安装nodejs和yeoman
      2. 初始化角度应用
      3. 使用基本HTTP服务编写基本nodeJS服务器
      4. 使用curl&测试您的HTTP服务您的应用程序使用chrome或FF
      5. 整合阶段

        1. 为此服务编写基本的角度HTTP调用
        2. 添加Node和Python之间的通信(参见 Combining node.js and Python 或类似的东西)
        3. 客户&外观和感觉阶段

          1. 添加用于响应的CSS框架并使用它(navbar,table ...)
          2. 查看Angular指令,开发添加新DOM元素的指令
          3. 完成/清理代码并推出

答案 1 :(得分:0)

我现在的解决方案如下: 我将根据请求使用bottle微框架生成服务器端动态html页面。 这将导致我每次想要查看新机器信息时重新加载页面,但现在对我来说已经足够了。

稍后我可以添加AJAX进行实时监控(我知道这是javascript,我想我还是要学习它。)

感谢你的解决方案。

答案 2 :(得分:0)

您也可以使用Bootstrap来制作响应式网站。 在Django模板中的index.html中按照以下代码进行操作。

<html>
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
{% block head %}
   :
   :
{% endblock %}


{% block body %}
    .
    .
    .
{% endblock %}

 <script
  src="https://code.jquery.com/jquery-3.2.1.min.js"
  integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
  crossorigin="anonymous"></script>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
        integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
        crossorigin="anonymous"></script>

</html>