当前位置:首页 > 建站优化 > 正文内容

想要给自己课题组做个网页,要学哪些知识?

zhuangbi888.com2021-03-21 10:40建站优化713

最近因为要做一个小型的网站,需求很简单有点像公司内部的管理网站,和室友一起倒腾,发现了一些坑。我自己之前没有接触过python 但是发现真的非常好上手。

我们没人会前端,所以最怕修改网页,一开始选择了Flask框架,我搞了半天遇到各种坑(还要修改css 麻烦),中间件也不好用,劝大家用django,资料多,非常好用。

那么开始说重点,需要做的哪些东西。

/ 是主要的资料,里面是中文的资料建议一点点看下去。

1-项目环境搭建。

  1.1第三方库准备

  开发环境是mac os 和ubantu 推荐大家下载一个第三方的软件叫 "Anaconda" ,安装非常简单,直接运行脚本就好。

安装完了,可以到命令行运行 pip list。可以看到已经安装的python第三方库 。

  此时我们是没有django的库的。

  

1.2IDE的安装

IDE 使用eclipse,讲一个工具Pydev,安装自行百度,点点就行。

然后 到Eclipse了 New->Project->Pydev->Pydev Django Project,一路next 。发现eclipse 找不到Django 环境,回来点击 click here to configure an interpreter 然后把python interpreter 中的名为python的删掉,那是系统默认的,改成anaconda目录 下 bin/里面的python。默认是2.7.11吧。忘记安装目录?一个命令 sudo find / -name anacon* 搞定~。找到以后加进去,到了图一这一步就结束。

                      (图1)

2-数据库配置和使用

  2.1数据库连接文件配置

我选了mysql,当然在这之前mysql的帐号密码应该自己确定了吧。mysql配置应该简单。但是如果要支持远程访问,比如你把数据库放到云上,别人机器上,毕竟开发不是一个人的事,我自己遇到的坑是"关于 mysql 配置文件中的 bind-address",自行百度,解决方案是删除就好。(推荐几个mysql 连接的桌面软件,用Navicat ,或者mysql workbench 都是不错的)。(后来发现这里输入密码和帐号没什么用还是要去修改在与项目同名的app里面的setting)。现在在mysql自己创建一个database 取名随便。我叫test,其他字段应该不用解释了如图2。

                           (图2)

  2.2创建APP(模块)

  然后我们在工程里根目录右击->Django->Create App->输入名字就好。因为网页主要是MVC模式,创两个吧。一个叫db 专用于管理数据库(models 层) 第二个专用于后台逻辑。名字随便取因为可能要对应多个模块。django里面增加一个app 就需要在与项目同名的那个app的setting中Installed_app里面加入app名(如图4)。我们加入以后目录结构(如图3.)

                             (图3)

                             (图4)

  2.3用django模型层建表

  数据库正式开发,数据库创建,在db的models.py中 对应数据库中每个表写class,就是定义好字段,因为Django的目标是要程序员完全脱离数据库的操作。那么我们先不建表,cd 到你的工程目录去,用命令行 用打入 manage.py migrate 命令。效果如图5。

                          (图5)

  如果你的配置是没错的,此时django 已经在你的数据库中建了很多表,都是django自带的,我也没有用起来,唯一用的是django自带的数据库管理界面,类似于Navicat,还支持搜索功能,自己去文档里 学吧。

然后在db的models里写一个表的代码。然后效果如图6 还是用了Manage 脚本。

from __future__ import unicode_literalsfrom django.db import models# Create your db here.class Message(models.Model):

user_id = models.BigIntegerField(blank=True, null=True)

                            (图6)

  到这里表都结束了,实际开发中,我数据库都是先建好的,那我全部都要写每个类是不是很麻烦,有没有偷懒的办法呢?

  答案是用./manage.py inspectdb

  用了就知道,他会反向生成表的代码, 然后直接复制进models里面就好了。

3-url 解析

  3.1url匹配处理函数

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

  第一层负责解析APP的名,像我在test 里urls.py里写的(如图7)。第一个参数表示响应的url,第二个参数表示处理的模块。

                           (图7)

  第二层是解析到具体的模块中的某个函数来响应对应的url。

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

                          (图9)

  3.2静态网页配置

  其实到这个时候已经可以实现响应了。(到这里还要解决一个问题 'Index/home.html')在哪里呢?我们此时创一个文件夹叫templates html都应该放在这里,Index 是一个模块的名字。你可以在templates下面建很多个文件夹,对应很多的APP模块。(html就不属于本文范畴了)此时目录结构为

                           (图10)

搞定了后别忘记在test的setting 里加上一句代码

                        (图11)

  "就是DIRS"里面.想想也是,不然 Django怎么知道我们的html放在这里呢。

4-逻辑层(也就是最后一步了,怎么样把数据库的东西查出来,放到html中。)

  4.1数据库中的数据

  往表里插两条数据

                            (图12)

  4.2动态显示数据

   看下代码:html部分

                            (图13)

  里面的{%%}是django 自带标签的自己看文档学一下就会。

                         (图14)

  里面的Message.objects.all() 表示从Message表中取出所有数据。还有什么复杂查询自己看文档,一般都是filter exclude,django 还支持sql语句直接写,函数名叫raw().

context就是返回给页面的一个对象里面放了很多值。在python里叫字典(dict)

  4.3启动服务器

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

                           (图15)

  4.4查看网页

  再到浏览器敲127.0.0.1:8000 django默认端口

                  (图16)

  4.5实际开发中问题

  结果出来了。遇到具体问题就是查一些文档和stackoverflow。发现一个时区问题,建议和我改成一样。把test里面setting中的时区部分改成这样。否则你会有八个小时的时差,

                            (图17)

  。还有啥问题可以和我讨论的可以留言。小弟也是刚做完这个项目从零开始。码字不易~小问题就不在这里说了。

界面日志界面

管理界面

评论界面

使用的技术

python、JavaScript、CSS、htmlMySQL 数据库jinja2 模板引擎Vue.js 界面框架Nginx Web服务器gunicorn WSGI服务器Supervisor 监控服务进程工具Fabric 自动部署工具学习过程

刚开始跟着作者的教程编写这样一个博客网站的时候感觉很困难,因为自己对web上的很多概念不了解,对web服务器是怎么运行也不清楚,所以不知道作者为什么要这么写代码。后来去学习了Django,知道了什么是ORM,什么是模板等一些概念后,并且能够使用Django搭建一个网站,再跟着作者学习就轻松了一些,希望我的学习过程对你有启发。当然,如果你只想快速的搭建一个网站,可以使用Django、Flask等免费开源的网站框架,而不用自己一步一步的去实现它。

相关文章

电脑无线网卡怎么收费标准(手机云电脑怎么收费标准)

电脑无线网卡怎么收费标准(手机云电脑怎么收费标准)

英国域名 .uk 法国域名 .fr 德国域名 .de 荷兰域名 .nl 波兰域名 .pl 捷克域名 .cz 爱沙尼亚域名 .ee 卢森堡域名 .lu 芬兰域名 .fi 爱尔兰域名 .ie 列支敦士登域...

可扫可爆服务器租用(扫爆服务器30元)

可扫可爆服务器租用(扫爆服务器30元)

本篇文章给大家谈谈可扫可爆服务器租用,以及扫爆服务器30元对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 文章目录列表: 1、为什么要租用服务器? 2、如何租用服务器? 3、服务器租赁...

免费域名免备案(免费域名软件)

免费域名免备案(免费域名软件)

首先回答第一个问题,直接通过ip是可以访问网站的,这个在购买时候进行可以提前咨询客服,问清楚后购买。 以个人的经验,如果你买的是虚拟主机,一般需要另外在购买一个独立ip,因为虚拟主机默认的是共享ip(...

建网站的费用是多少(南京企业建网站流程)

建网站的费用是多少(南京企业建网站流程)

包括网站的空间费用、域名费用(如果需要好一点的域名的话)当然也有免费域名, 如果网站是自己做的话就不需要人工费,如果你上网需要花钱的话,那么还需要建设和维护网站时的上网费,网站空间的费用不同的服务商...

西安网站建设哪家好一些?

西安网站建设哪家好一些?

★陕西无忧互联网络科技有限公司18220844545 任经理 西安最专业的网站建设公司,性价比最优惠,客户满意度高,八年建站经验,百人团队,服务客户千万家,选择无忧互联,让你全程无忧. 服务特色:无忧...

浏览器打不开有些网页怎么办?

首先分析下网站不访问的原因 1.网站方面原因,网站因域名,空间,程序文件相关的协作出现问题,网站无法访问,表现为所有人都无法访问,或网站禁止部分ip访问,而访问者在禁止访问的ip中,就无法访问了 2....

怎样将域名解析到服务器上?

怎样将域名解析到服务器上?

1:域名解析到服务器IP。服务器上绑定域名确定网站。: 2:域名解析方法:网站服务器空间上绑定域名解析: 3:域名申请成功之后首先需要做域名解析。解析域名方法,首先登陆域名解析控制面板,找到“dns...

谈一谈DEDECMS为何很多站长集体抱怨?

谈一谈DEDECMS为何很多站长集体抱怨?

迅睿cms推一键数据转换插件 迅睿cms 基于MIT开源协议发布,不限商业使用 DEDECMS(织梦)网站数据转移迅睿CMS操作步骤 1、需要安装全新的迅睿CMS程序,选择不按照测试数据 2、进入...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。