Python利用 Django开发网站

1、创建Django project

1) start project

创建一个文件夹,命名为root(或者自己喜欢的名字),用命令打开文件夹,也就是cd+文件路径:

cd /Users/Hou/Desktop/root

使用django-admin的命令创建一个项目,命名为firstsite(或者你喜欢的名字)。

django-admin startproject firstsite

在最开始创建的root文件夹中,会得到一个这样结构的一堆文件



2) manage.py 改为python3

打开firstsite文件夹的目录,然后打开manage.py,在第一行代码里把python改为python3

#!/user/bin/env python3

改好记得保存下

2、创建Django App

每个Django project里面可以有多个Django Apps

1) start app

先cd到firstsite目录下,然后输入:

python3 manage.py startspp firstapp

manage.py是Django提供的命令行工具,我们可以利用它执行很多工作,使用方法类似这样:

python manage.py <command> [options]

如果想了解哪些命令可以使用,输入help会列出所有:

python manage.py help

运行了刚才的命令之后,文件结构又变成了这么一堆东西:


2)setting里增加app

之前我们建立了firstapp这个app,但为了让Django知道要管理哪些apps,还需要调整设置。

在setting里面找到INSTALLED_APPS,在末尾添加刚才创建的app名字:


3、创建数据库

等创建好数据库就能看到django网站的初始界面了。

1) 合并、运行数据库

先cd到firstsite目录下,然后输入这两行命令合并数据库:

python3 manage.py makemigrations
python3 maanage.py migrate

然后运行服务器,输入:

python3 manage.py runserver

现在打开浏览器,输入http://127.0.0.1:8000/或是http://localhost:8000/,会看到你的Django网站已经在web server上成功运行了!


4、把HTML、CSS、图片放到模板里

1)创建templates和static文件夹

在你创建的Django app文件夹(例子中为firstapp)下面创建两个文件夹,分别为templates,static。

然后把HTML文件放到templates文件夹中,CSS、image等所有静态文件放到static文件夹中。

你会得到这样的文件结构:

2)在setting里修改模板路径

为了让django知道我们的模板放在哪,需要回到settings.py中,修改TEMPLATES的DIRS,如下:



3)在HTML里增加模板标签

然后回到templates文件夹下的HTML文件中,增加必需的模板标签,为所有图片、CSS替换路径:


5、创建后台和超级管理员

Django诞生于新闻网站的环境中,所以很重视内容管理,提供了管理后台,让使用者方便新增或修改网站内容。

这个管理后台,在Django中以内置app的形式存在,叫做:Django Admin。现在我们来设置:

1)建立管理员账号

先cd到firstsite目录下,然后输入:

python3 manage.py createsuperuser

会弹出让你分别输入用户名、邮件、密码,要记住哦。然后就完成super user(超级管理员)的账号设置了。在终端里面输入名字和密码的时候会不显示任何东西,就是这样的交互设计,不是你的键盘坏掉了,放心大胆的输完敲回车就行。



看到最后一行successfully就是创建成功了。

2)使用管理后台

执行runserver指令,然后进入http://127.0.0.1:8000/admin/,可以看到管理后台的登陆页面,填写用户名和密码,进入管理后台。


会看到这样的后台:


3)在admin里增加想要的管理后台数据项

在admin.py里面增加想要的数据项:



就看到管理后台多了people这一项,很方便。



4)在models里面设置内容列表的标题


为了让内容列表里能直接显示标题,需要到models.py里面,增加一个直接显示名字的函数



然后就能看到内容列表的变化。

5)在admin里继续增加文章管理

按照上面的方式,再来把文章这一项添到管理后台里面。

在admin.py里面继续增加想要的数据项:


6)在model里继续增加文章数据字段

在models.py里面定义文章的数据字段:


7)合并数据库

先cd到firstsite目录下,然后输入这两行命令合并数据库:

python3 manage.py makemigrations
python3 manage.py migrate

每次model层有改动都需要输入这两行合并数据库,切记!!!

现在就可以到管理后台去添加文章内容了。

6、在View中获取Model中的数据

引用model里面写好的文章列表,然后去渲染文章列表。


7、在Template中增加动态内容

回到templates文件夹下的HTML文件中,增加必需的模板标签,让文章内容可以取管理后台的内容:



8、在URL中分配网址

在urls.py中添加如下代码,作用是让链接可以被访问:



现在打开浏览器,输入:http://127.0.0.1:8000/index/,就能看到这个真正的网页了。



展开阅读全文

没有更多推荐了,返回首页