您的位置:首页 > 编程语言 > Go语言

编写你的第一个Django应用01

2015-10-31 00:23 477 查看
在我们安装完Django之后,就可以开始编写我们的第一个Django应用了。

本文依旧是转载的http://python.usyiyi.cn/django/intro/tutorial01.html#writing-your-first-django-app-part-1,Django1.8官方文档。

创建一个项目

创建一个Django项目十分简便,只需要在你想要创建Django的目录下,输入
django-admin startproject mysite,mysite就是你的项目名称,你可以取任何你喜欢的名字。

创建完成之后,Django会自动生成项目的基本结构。



如上图,自动生成的文件如下:

外层的mysite/根目录仅仅是一个项目的容器,它的名字对Django无关紧要。

manage.py:一个命令行工具,可以使你用多种方式和Django进行交互。
内层的mysite/目录是你真正的Python的包。它是你导入任何东西时需要用到的Python包的名字。
mysite/__init__.py:一个空文件,它告诉Django这个目录应该被看成一个Python的包。
mysite/settings.py:该Django项目的配置文件。
mysite/urls.py:该Django项目的URL声明,你的站点的“目录”。
mysite/wsgi.py:用于你的项目的与WSGI兼容的Web服务器入口。

这些文件我们暂时还不能了解它的具体作用,但当我们学完之后在回头来看这些文件的时候,就会有新的收获。

数据库的建立

现在可以为我们的Django项目创建一个数据库了,这里我选择了MySQL数据库。

数据库我推荐大家使用WAMP,它集成了Apache、PHP以及MySQL程序,安装非常简便,适合新手使用。下载地址是http://www.wampserver.com/en/

安装好WAMP之后,开启mysql服务,当图标显示为绿色的时候

,表明服务启动正常。

现在,编辑mysite/settings.py文件,

将DATABASE ‘default’ 条目修改为:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test1',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '3306',
    }
}


需要注意的是:

'ENGINE':数据库引擎。这里写的是'django.db.backends.mysql',默认为'django.db.backends.sqlite3',当然根据数据的不同,也可以是‘django.db.backends.postgresql_psycopg2’或者'django.db.backends.oracle'
'NAME':数据库名称。需要在数据库中创建,稍后我们将在数据库中创建名为test1的数据库
'USER':数据库用户名。WAMP中mysql用户名默认为root
'PASSWORD':数据库用户名口令。WAMP中默认口令为空
'HOST':主机名,默认为localhost
'PORT':端口号,默认为3306

以上部分信息,例如口令、主机名和端口号可以在WAMP的my.ini中查看。

在配置完数据库信息之后,你可以顺便配置一下TIME_ZONE和LANGUAGE_CODE,同样也是在mysite/settings.py文件中

LANGUAGE_CODE = 'zh-hans' # 语言编码为中文

TIME_ZONE = 'Asia/Shanghai' # 时区为上海


另外在mysite/settings.py文件也就是配置文件的最上面,有这样几行代码

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
)


INSTALLED_APPS中的值对应着这个Django项目中激活了的所有的Django应用的名字。

默认情况下,INSTALLED_APPS中包含以下的应用:

django.contrib.admin:管理站点
django.contrib.auth:认证系统
django.contrib.contenttypes:用于内容类型的框架
django.contrib.sessions:会话框架

django.contrib.messages:消息框架
django.contrib.staticfiles:管理静态文件的框架

目前,你不必了解它们分别有什么用,只要记住一点,你可以在INSTALLED_APPS中加入你自己编写的应用,这样你的应用就会出现在项目中了。

因为以上的默认应用在使用的时候必须需要使用一个数据库表,因此我们先按照DATABASE中创建一个test1数据库。

打开mysql命令行工具,输入create database test1;



然后,我们在manage.py的目录下,运行python manage.py migrate



粘贴一段官方文档:

migrate查看INSTALLED_APPS设置并根据mysite/settings.py文件中的数据库设置创建任何必要的数据库表,数据库的迁移还会跟踪应用的变化(我们稍后会讲到)。你会看到对每次迁移有一条信息。如果你有兴趣,可以运行你的数据库的命令行客户端并输入dt
(PostgreSQL), SHOW
TABLES; (MySQL)或.schema (SQLite)来显示Django创建的表。

按照文档要求,运行show tablse; 查看一下Django创建了哪些表。注意show tables;之前先要use test1;将数据选择为我们的新创建的test1。



然而,什么都没用。。。

出现了问题怎么办,暂时咱们先放一放,往后走。

开发服务器

现在来验证一个Django项目是否工作,在manage.py同一个目录下,运行python manage.py runserver



没有任何错误显示,提示信息告诉我们,访问http://127.0.0.1:8000/可以访问服务器,Ctrl+Break可以停止服务器。

访问一下http://127.0.0.1:8000/呢,浏览器显示It worked!说明我们之前的问题并不会影响Django的运行,也许是官方文档出现了错误,或者是由于它使用的sqlite3数据库而我使用了mysql数据库



再粘贴一段好了

更改端口
默认情况下,runserver命令在内部IP的8000端口启动开发服务器。

如果你想改变服务器的端口,把要使用的端口作为一个命令行参数传递给它。 例如,这个命令在8080端口启动服务器:

$ python manage.py runserver 8080


如果你想改变服务器的IP地址,把IP地址和端口号放到一起。
因此若要监听所有的外网IP,请使用(如果你想在另外一台电脑上展示你的工作,会非常有用):

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