用python怎么做一个网站。
网站(英文:Website)是指在互联网上,根据一定的规则,使用HTML等工具制作的用于展示特定内容的相关网页的集合。简单地说,网站是一种通信工具,就像布告栏一样,人们可以通过网站来发布自己想要公开的信息,或者利用网站来提供相关的网络服务。人们可以通过网页浏览器来访问网站,获取自己需要的信息或者享受网络服务。世界上第一个网站由蒂姆·伯纳斯-李创建于1991年8月6日。
网站组成
网站是由两大部分组成,一是服务器,二是程序。
如果要增加交互功能,怎么办?那就要 这样,网站就多了一部分,行话常说是“后端”,直接展示给看客的叫做“前端”。“后端”所做的事情就是处理“前端”用户提交的信息,然后给用户一个反馈。这样就交互起来了。
此外,为了将网站上的数据保存起来,通常会用到一个叫做“数据库”的东西(这个不是必须的,有的网站就没有数据库,有的网站用别的方式存储数据,比如文本等),数据库主要是存储某些数据,让网站的后端和前端从这里将某些数据读出来,显示给看官,或者将看官提交的某些数据存进去,以便以后使用。
数据库是计算机行业中的一个专业门来,看官有兴趣,可以在这个行业中深入,公司里面有个职位:DBA,就是干这个的。
数据库,简单来说是本身可视为电子化的文件柜——存储电子文件的处所,使用者可以对文件中的数据运行新增、截取、更新、删除等操作。
数据库管理员 (英语:Database administrator,简称DBA),是负责管理数据库的人。数据库管理员负责在系统上运行数据库,执行备份,执行安全策略和保持数据库的完整性。因为管理数据库是个很庞大的职务,每个公司或组织的数据库管理员的需要也是很不同。一个大公司可能有很多数据库管理员,但是一个小公司可能也没有数据库管理员,而让系统管理员管理数据库。
综合以下,一般来讲,网站应该是这样的:
为了写一个漂亮的前端,一般都要用CSS和JavaScript,但是,本教程中,因为不是专门讲授这些,所以,涉及到前端的时候,就不用CSS和JavaScript了,这样的一个恶果就是界面相当丑陋。请看官忍受吧。
在控制端,就是前面说的后端,仅适用一种语言:Python。这是本教程的终极目的,如何用Python做网站。
数据库,我选用MySQL,关于这个数据库有很多传说。例如维基百科上这么说:
MySQL(官方发音为英语发音:/maɪ ˌɛskjuːˈɛl/ "My S-Q-L",[1],但也经常读作英语发音:/maɪ ˈsiːkwəl/ "My Sequel")原本是一个开放源代码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被升阳微系统(Sun Microsystems)收购。2009年,甲骨文公司(Oracle)收购升阳微系统公司,MySQL成为Oracle旗下产品。
MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如维基百科、Google和Facebook等网站。非常流行的开源软件组合LAMP中的“M”指的就是MySQL。
但被甲骨文公司收购后,Oracle大幅调涨MySQL商业版的售价,且甲骨文公司不再支持另一个自由软件项目OpenSolaris的发展,因此导致自由软件社区们对于Oracle是否还会持续支持MySQL社区版(MySQL之中唯一的免费版本)有所隐忧,因此原先一些使用MySQL的开源软件逐渐转向其它的数据库。例如维基百科已于2013年正式宣布将从MySQL迁移到MariaDB数据库。
至于服务器空间,就放在自己的电脑上吧。
从数据库开始
数据库是我们要做的网站的一个基础,我在这里不演示不用数据库的情况 。
从现在开始,就进入网站建设的进程。
安装MySQL
你的电脑不会天生就有MySQL,它本质上也是一个程序,需要安装到电脑中。
如果用的是ubuntu操作系统,可以用下面的方法。
第一步,在shell端运行如下命令:
sudo apt-get install mysql-server
这样,看官的电脑上就已经安装好了这个数据库。当然,当然,还要进行配置。
第二步,配置MySQL
安装之后,运行:
service mysqld start
启动mysql数据库。然后进行下面的操作,对其进行配置。
默认的MySQL安装之后根用户是没有密码的,注意,这里有一个名词“根用户”,其用户名是:root。运行:
$mysql -u root
在这里之所以用-u root是因为我现在是一般用户(firehare),如果不加-u root的话,mysql会以为是firehare在登录。注意,我在这里没有进入根用户模式,因为没必要。一般来说,对mysql中的数据库进行操作,根本没必要进入根用户模式,只有在设置时才有这种可能。
进入mysql之后,会看到>符号开头,这就是mysql的命令操作界面了。
下面设置Mysql中的root用户密码了,否则,Mysql服务无安全可言了。
mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";
注意,我这儿用的是123456做为root用户的密码,但是该密码是不安全的,请大家最好使用大小写字母与数字混合的密码,且不少于8位。
以后如果在登录数据库,就可以用刚才设置的密码了。
除了上面的安装过程,如果用的是别的操作系统,可以在google上搜索相应的安装方法,恕我不在这里演示,因为我只能演示在ubuntu上的安装流程。不过,google会帮你解决安装遇到的问题。
运行mysql
安装之后,就要运行它,并操作这个数据库,建立一个做网站的基础。我这样来运行数据库:
$ mysql -u root -p
Enter password:
输入数据库的密码,之后出现:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.7.24-0ubuntu0.18.04.1 (Ubuntu)
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
看到这个界面内容,就说明你已经进入到数据里面了。接下来就可以对这个数据进行操作。例如:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| carstore |
| cutvideo |
| itdiffer |
| mysql |
| performance_schema |
| phpcms |
| phpcms2 |
| pushsystem |
| sipras |
| test |
+--------------------+
用这个命令,就列出了当前mysql已经有的数据库。
除了这种用命令行形式对数据库进行操作之外,还有不少可视化方式操作数据库的工具。这里也不作介绍,有兴趣的请google。不过,我喜欢命令行。