设为首页 加入收藏

TOP

Django1.8教程——从零开始搭建一个完整django博客(一)(一)
2017-09-30 17:12:28 】 浏览:379
Tags:Django1.8 教程 从零 开始 搭建 一个 完整 django 博客

第一个Django项目将是一个完整的博客网站。它和我们博客园使用的博客别无二致,一样有分类、标签、归档、查询等功能。如果你对Django感兴趣的话,这是一个绝好的机会。该教程将和你一起,从零开始,搭建一个属于你自己的Django博客站点。

事不宜迟,让我赶快开始吧!

创建你的第一个Django项目

Django提供了一个命令,可以让你轻松地创建初始Django项目文件结构。从你的终端运行以下命令:

django-admin startproject mysite 

这将会创建一个名为mysite的Django项目。

让我们看看Django项目的结构:

|- mysite/   
    |- manage.py   
    |- mysite/
        |- __init__.py     
        |- settings.py     
        |- urls.py     
        |- wsgi.py
  • manage.py: 一个命令行交互文件,用于显示项目的运行情况,不用对这个文件做任何修改。

  • mysite/: 你项目的目录下包含着以下文件:
    • __init__.py : 空的Python文件,用来告诉Python将这个项目目录视为一个Python模块。
    • settings.py : 项目的配置和设置文件,用命令行生成的Django项目会自动生成默认配置。
    • urls.py : URL配置文件,每一行URL都对应一个相应的视图(view)
    • uwsgi.py : 配置您的项目,让它作为一个WSGI程序运行。

生成的settings.py文件默认情况下包括SQLite数据库设置与Django app列表,我们需要在数据库中创建初始应用程序的表。

打开终端并运行下面的命令:

cd mysite 
python manage.py migrate

你可以看到以下输出:

Rendering model states... DONE
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying sessions.0001_initial... OK

至此,初始Django app的表已经创建完毕。

运行开发者服务器

Django会用自带的轻量级Web服务器来运行你的代码,不需要花费大量的时间配置生产服务器。当你运行Django开发服务器,它会检查代码中的变化,自动重新加载。把你从手动重启服务器的繁琐过程中解放出来。然而,它可能不会注意到一些操作,比如向项目添加新的文件,在这些情况下,你将不得不手动重新启动服务器。

从项目的根目录中输入以下命令:

python manage.py runserver

你可以看到以下输出:

Performing system checks...
System check identified no issues (0 silenced).
November 5, 2015 - 19:10:54
Django version 1.8.6, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.

现在,打开浏览器输入HTTP://127.0.0.1:8000/。看到这个页面就说明运行成功,如图所示:

你也可以自定义Django开发服务器主机和端口,或者告诉它你想加载不同的设置文件。例如,您可以运行manage.py命令如下:

python manage.py runserver 127.0.0.1:8001 \ -- settings=mysite.settings

这是方便处理多个环境,需要不同设置的情况。请记住,此服务器只用于开发,不适合用于生产使用。为了部署Django的生产环境,你应该使用一个真正的Web服务器,如Apache,gunicorn应用,或uWSGI。让其作为一个网络服务器的网关接口运行它(WSGI)

项目设置

让我们打开settings.py文件,看一看我们的项目配置。

其中Django常用设置包含在这个文件当中,但这些只是Django设置的一部分。所有设置可以在此看到:https://docs.djangoproject.com/en/1.8/ref/settings/.

  • DEBUG:一个布尔值,该布尔函数用以打开项目的调试模式。如果设置为true,Django会显示详细的错误页面。当你移动到一个生产环境,记得必须设置它为False。不要将网站以调试模式部署到生产中,这样会暴露你的项目的敏感数据。

  • ALLOWED_HOSTS:在调试模式或正在运行测试时,这个选项不起作用。一旦你关闭调试模式,并将你的网站布置在正式的生产环境,就必须在settings.py中添加部署环境的域名/主机,以便允许服务器运行Django站点。

  • INSTALLED_APPS :这个设置告诉Django哪些app是启用的。默认情况下,Django包含下面application:
    • django.contrib.admin: Django管理站点.
    • django.contrib.auth: Django认证模块.
    • django.contrib.contenttypes: Django内容类型框架.
    • django.contrib.sessions: Django会话框架.
    • django.contrib.messages: Django消息传递框架.
    • django.contrib.staticfiles: Django管理静态文件的框架.
  • MIDDLEWARE_CLASSES :一个元组,包含需要执行的中间件。

  • DATABASES:是一个用于在项目中使用的,包含所有数据库的字典。默认的配置使用sqlite3数据库。

  • LANGUAGE_CODE:为Django项目定义默认的使用语言。

如果你对Django的设置还不是十分了解,不要担心。在接下来的学习中,你更加了解Django的相关设置。

项目(project)与应用(application)

在本书中,你可能会经常看到项目(project)应用(application)这两个Django术语。项目通常是指由你生成的Django站点程序以及与站点相关的设置。而应用通常是指包含模块(models.py)、视图(views.py)、模板(template)和链接(url.py)的一个Python模块。应用和框

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇python练习 根据日志中的ip和url.. 下一篇基于python做的抓图程序1.0.00版本

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目