您的位置:首页 > 编程语言 > Python开发

Python利用 Django开发网站

2017-12-29 14:15 309 查看


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/,就能看到这个真正的网页了。




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: