爱游戏全站app官网入口-爱游戏官网

实战django:官方实例part1 -爱游戏全站app官网入口

2023-09-06,,

【写在前面】

撰写这个实战系列的django文章,是很久之前就有的想法,问题是手头太少,一旦开讲,恐有“无米下锅”之忧。

随着对django学习的深入,渐渐有了些心得,把这些心得整理出来,以规范的、方便新人上手的撰写方式来写这个实战系列,相信对刚接触django的童鞋会有一定的帮助。

舍得这里所用到的版本,为django 1.7.1,python 3.2,想要按照舍得讲解的实例上手练习的话,请务必与舍得所用的版本保持一致。

实例是在windows系统下调试的,如果你采用的是非windows系统,因操作系统不同所产生的差异,请自行设法调整。

【django与python的安装】

关于django与python的安装,请阅读文档。

ide推荐使用eric5.

【关于本实例】

此处的实例出自官方1.7.1版的文档,应该是官方文档中唯一完整的实例。舍得在整理这个实例的时候,并未按官方文档中的顺序逐一讲解,而是按照建站的逻辑一步步写下来,省略了其中个别的步骤与操作,比如”playing with the api“,是讲在shell界面耍数据库的,感兴趣的童鞋可以自行查阅官方文档。

原实例共分6个part,舍得在讲解的时候,会打乱原来的part结构,只是按照自己的逻辑来讲解。比如本文”part1“,实际上已经介绍了官方文档”part2“的部分内容了。对舍得这种处理方法介意的童鞋,可以直接跳过本文去阅读官方文档。

1.创建项目


django 1.7.1版本安装好后,我们可在python的scripts下找到"django-admin.exe"这个程序,创建新项目时,请在dos命令提示符下转到scripts文件夹(如“c:\python32\scripts”),然后运行如下命令:

$ django-admin startproject mysite

注: $代表dos提示符,不必输入(下同)。

上面的命令执行完后,会在scripts文件夹下多出一个叫mysite的文件夹,其结构为:

mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py

这些文档中,我们以后要频繁用到的是settings.py和urls.py这两个文档。每个文档各自代表的意思,可参阅官方文档。舍得的观点是,不用去管那么多,跟着这套“实战django”系列的教程一个个实例做下去,你自然而然会知道每个文档的用途。

 

2.创建应用


关于项目与应用的区别,舍得简单讲下自己的理解。项目好比一个网站,应用只是网站的一部分,它是用来完成特定的某些功能的,比如一个网站可以分为“博客”、“论坛”、“文库”等应用。

我们现在要来建立一个投票的应用,具体操作如下:

在dos命令提示符下执行:

cd mysite

进入我们刚才建好的mysite文件夹,然后运行如下命令:

$ python manage.py startapp polls

注意,python的安装路径应该被添加到操作系统的环境变量中,如果上述命令无法运行,可以使用相对的路径,命令可调整为“..\..\python manage.py startapp polls”,以下不再讨论此问题,请尽早将python加入系统环境变量。

上面的命令执行完后,mysite的文件夹下会多出一个叫polls的文件夹,其结构为:

polls/
__init__.py
admin.py
migrations/
__init__.py
models.py
tests.py
views.py

3.建立模型


模型(models)是我们这个应用的数据源。在django中,我们要做的是编辑好应用下面的models.py文件:

编辑polls/models.py文件,象下面这样:

polls/models.py:

from django.db import models
class question(models.model):
question_text = models.charfield(max_length=200)
pub_date = models.datetimefield('date published') class choice(models.model):
question = models.foreignkey(question)
choice_text = models.charfield(max_length=200)
votes = models.integerfield(default=0)

这里的两个class,相当于告诉数据库引擎,待会要给我建这两个表,第一个表叫question,有两个字段;第二个表叫choice,有三个字段。实际上在建立数据表的时候,数据库引擎会自动给每个表增加一个递增的id字段。

4.激活模型


首先要修改mysite/settings.py这个文件,找到installed_apps这段设置,把它改成下面这个样子:

mysite/settings.py:

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

其实就是告诉程序,我要添加这个polls的应用!

编辑settings.py这个文档的时候,顺便修改一下时区和语言的设置,找到:

language_code = 'en-us'

把它改为:

language_code = 'zh-cn'

找到:

time_zone = 'utc'

把它改为:

time_zone = 'cct'

注:cct为中国北京时间的时区缩写。舍得建议在每一个项目中都进行时区和语言的设置的修改。

 

然后在dos命令提示符下运行如下命令:

$ python manage.py makemigrations polls

你会看到象下面这样的执行结果:

migrations for 'polls':
0001_initial.py:
- create model question
- create model choice
- add field question to choice

继续在dos命令提示符下运行如下命令:

$ python manage.py migrate

你会看到象下面这样的执行结果:

operations to perform:
synchronize unmigrated apps: sessions, admin, messages, auth, staticfiles, contenttypes
apply all migrations: polls
synchronizing apps without migrations:
creating tables...
installing custom sql...
installing indexes...
installed 0 object(s) from 0 fixture(s)
running migrations:
applying polls.0001_initial... ok

记住makemigrations和migrate这两个命令吧,它是用来创建或修改数据库的,非常重要!

5.创建管理员账号


在dos命令提示符下运行如下命令:

$ python manage.py createsuperuser

输入一个用户名,建议输入:admin:

username: admin

然后是输入管理员的邮箱,找一个你自己的邮箱输入进去就是:

email address: xxx@xxx.com

接下来输入两次管理员的密码:

password: **********
password (again): *********
superuser created successfully.

看到”superuser created successfully“就大功告成了.

通常每建一个项目都要做这一步”创建管理员账号“的操作,所以请牢记。

 

6.启动服务器


万事俱备,只欠东风,前面我们已经把网站的框架搭起来了,现在就把服务器启动起来,看看效果。

在dos命令提示符下运行如下命令:

$ python manage.py runserver

命令执行后,你会看到类似这样的字符出现:

december 06, 2014 - 00:30:53
django version 1.7.1, using settings 'mysite.settings'
starting development server at http://127.0.0.1:8000/
quit the server with ctrl-break.

这就表示服务器已经成功启动了.

注:runserver是非常重要的命令,但不需要刻意去记,在做实例的过程中,这可能会是你记得最牢的一个命令。

好,打开浏览器,在地址栏内输入:

http://127.0.0.1:8000/admin/

你会看到如下的页面:

这是使用django的一大福利,django自带强大的管理后台。现在,就用你刚才建好的管理员账号登录吧!

登录后的页面会是这个样子:

是不是除了用户和用户组管理,我们现在啥也做不了?不要着急,舍得会在下一部分教你如何往里面一点点添加内容。

【未完待续】

实战django:官方实例part1的相关教程结束。

网站地图