用python中django创建网页,python django做网页

  用python中django创建网页,python django做网页

  因为最近想做一个小网站,需求很简单,有点像公司内部管理网站。我和我的室友翻来翻去,发现了一些漏洞。我自己之前没有接触过python,但是我觉得真的很好用。

  我们都不懂前端,所以最怕修改网页。一开始,我们选择了Flask框架。我从事it很久了,遇到过各种各样的漏洞(还有修改css的麻烦),中间件也不好用。我强烈建议你使用django,它的信息量很大,非常容易使用。

  然后开始讲重点,需要做什么。

  http://python.usyiyi.cn/是主要材料,也有中国材料在里面。建议看一点。

  1-项目环境建设。

  1.1第三方库准备

  开发环境是mac os和ubantu。建议你下载一个叫‘Anaconda’的第三方软件。安装非常简单。直接运行脚本就可以了。

  安装完成后,您可以在命令行上运行pip list。可以看到安装的python第三方库。

  此时,我们没有django的图书馆。

  pipinstall Django

  一句话,安装完毕。它是如何成功的?Import django可以直接用python写,不会出错就成功了。我们选择MySQL作为数据库,Django也需要作为中间件安装,类似于java中的JDBC。

  同一句话。

  pip安装MySQL-python

  它是如何成功的?如果python中的import _mysql没有问题,那么恭喜你,基本完成了。

  1.2 ide的安装

  用IDE eclipse,讲一个工具Pydev,自己装百度,点一下就行了。

  然后我们去了Eclipse,new-project-pydev-pydev Django项目,一直到next。我发现eclipse找不到Django环境。回来后点击这里配置了一个解释器,然后在python解释器里删除了那个名为python的,这是系统默认的,在anaconda目录的bin/里改成了python。默认值为2.7.11。忘记安装目录了?一个命令sudo find/-name anacon* done ~。找到后再添加,到图1时这一步就结束了。

  (图1)

  2-数据库配置和使用

  2.1数据库连接文件配置

  我选择了mysql。当然,在此之前,我的mysql账号密码应该是我自己决定的。Mysql配置要简单。但是如果要支持远程访问,比如把数据库放在云上,放在别人的机器上,毕竟开发不是一个人的事。我自己遇到的坑是‘关于mysql配置文件中的bind-address’,我自己百度的。解决办法就是删除。(推荐几款与mysql连接的桌面软件。Navicat或者mysql workbench都不错)。(后来发现在这里输入密码和账号都没用,还是要在和项目同名的app里修改设置)。现在在mysql中创建你自己的数据库,你可以随意命名。我叫test,其他字段不用解释如图2所示。

  (图2)

  2.2创建应用程序(模块)

  然后我们右键单击项目的根目录——Django——Create App——并输入名称。因为网页主要是MVC模式,所以创建两个。一个叫db,专用于管理数据库(模型层),另一个专用于后台逻辑。取任何名字,因为它可能对应多个模块。要在django中添加一个app,需要在与项目同名的app的设置中,将app名称添加到Installed_app中(图4)。我们添加未来的目录结构(如图3所示。)

  (图3)

  (图4)

  2.3使用django模型层构建表格

  正式的数据库开发,数据库创建,在db的models.py中编写数据库中每个表对应的类,就是定义字段,因为Django的目标是让程序员完全脱离数据库操作。然后我们不先构建表,cd到您的项目目录,并使用命令行键入manage.py migrate命令。效果如图5所示。

  (图5)

  如果你的配置没错,django此时已经在你的数据库里建了很多表,都是django自带的,我也没用过。使用它们的唯一方法是django自己的数据库管理接口,类似于Navicat,也支持搜索功能。去文件那里,自己向http://python.usyiyi.cn/django_182/intro/tutorial02.html学习。

  然后用db模型写一个表的代码。然后效果如图6所示。仍然使用管理脚本。

  从__future__胡搅蛮缠_ literals from django . db import models #在此创建您的数据库。

  classMessage(模型。型号):

  user_id=型号

  至此,牌桌全部结束。在实际开发中,我的数据库是先建立的。我写所有的类很麻烦吗?有什么方法可以偷懒?

  答案是。/manage.pyinspectdb。

  你用了就知道他会逆向生成表格的代码,然后直接复制到models里。

  3-url解析

  3.1url匹配处理功能

  在Django中,一般的url解析分为两层。

  第一层负责解析应用程序的名称,就像我在测试中在urls.py中写的那样(如图7所示)。第一个参数指示响应的url,第二个参数指示要处理的模块。

  (图7)

  第二层是解析特定模块中的函数,以响应相应的url。

  比如ViewApp中urls.py中写的home in 8)url(图8)(需要自己创建)(函数中第一个参数是匹配路径,最后一个是对应的函数名)对应的是view app中views.py中的函数home。

  (图9)

  3.2静态网页配置

  其实反应到这个时候已经可以实现了。(这里还有一个问题要解决 Index/home.html )。它在哪里?这时我们创建一个名为templates html的文件夹,应该放在这里。Index是模块的名称。模板下可以创建很多文件夹,对应很多APP模块。(html不属于本文。)这时,目录结构是

  (图10)

  完成后,不要忘记在test的设置中添加一个代码。

  (图11)

  在《DIRS》里。想想也是。否则,Django怎么知道我们的html在这里呢?

  4-逻辑层(也就是最后一步,如何找出数据库并放入html。)

  4.1数据库中的数据

  向表中插入两条数据。

  (图12)

  4.2数据的动态显示

  看看代码:html部分

  (图13)

  里面的{%%}是django自己的标签。可以看文档,自己学习。

  (图14)

  里面的Message.objects.all()表示所有数据都从消息表中取出。如果有什么复杂的查询,可以自己看文档。一般是过滤排除。django还支持直接编写sql语句,函数名为raw()。

  上下文是返回到页面的对象,其中包含许多值。Dict在python中被称为字典。

  4.3启动服务器

  最后,我们来到我们的命令行目录,点击。/manage.py runserver(支持所有端口和外部网络访问,添加0.0.0.0)。然后出现。

  (图15)

  4.4查看网页

  进入浏览器,点击Django的默认端口127.0.0.1: 8000。

  (图16)

  4.5实际开发中的问题

  结果出来了。具体问题是查一些文档和stackoverflow。发现一个时区问题,建议改成和我的一样。将测试中设置的时区部分更改为此。否则,你会有八个小时的时差,

  (图17)。还有什么可以和我讨论的,请留言。ZL也刚刚从零开始完成这个项目。码字不容易~这里就不说小问题了。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: