编写你的第一个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-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服务器入口。
这些文件我们暂时还不能了解它的具体作用,但当我们学完之后在回头来看这些文件的时候,就会有新的收获。
数据库我推荐大家使用WAMP,它集成了Apache、PHP以及MySQL程序,安装非常简便,适合新手使用。下载地址是http://www.wampserver.com/en/
安装好WAMP之后,开启mysql服务,当图标显示为绿色的时候
,表明服务启动正常。
现在,编辑mysite/settings.py文件,
将DATABASE ‘default’ 条目修改为:
需要注意的是:
'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文件中
另外在mysite/settings.py文件也就是配置文件的最上面,有这样几行代码
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端口启动服务器:
如果你想改变服务器的IP地址,把IP地址和端口号放到一起。
因此若要监听所有的外网IP,请使用(如果你想在另外一台电脑上展示你的工作,会非常有用):
本文依旧是转载的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
相关文章推荐
- 二分图带权匹配的KM算法以及费用流建模
- CDOJ 1221 Ancient Go
- erlang和go之间桥接库相关
- [Django后台管理系统]Django的标准库django.contrib包介绍
- Golang的select/非缓冲的Channel实例详解
- [Django后台管理系统]激活Django自带的管理界面
- sicily 1306. Sorting Algorithm
- D - Wine trading in Gergovia
- 2015南阳CCPC G - Ancient Go dfs
- UVALive 6886 Golf Bot
- Google图片搜索的原理
- Algorithms—208.Implement Trie (Prefix Tree)
- 浅析Go语言编程当中映射和方法的基本使用
- MIT算法导论——第一讲.Analysis of algorithm
- goolge官方推荐图片加载框架glide使用介绍
- Django 中的用户认证
- Django运行方式及处理流程总结
- django 简单的邮件系统
- django 注册、登录及第三方接口程序(3):验证之正则表达式
- django 注册、登录及第三方接口程序(2):扩展User表