Django 的第一个项目

一,首先,新建一个项目(project), 名称为 mysite

1
django-admin startproject mysite

备注:

1. 如果 django-admin 不行,请用 django-admin.py

2. 如果是在Linux是用源码安装的,或者用 pip 安装的,也是用  django-admin.py 命令


运行后,如果成功的话, 我们会看到如下的目录样式   (没有成功的请参见环境搭建一节):

1
2
3
4
5
6
7
mysite
├── manage.py
└── mysite
     ├── __init__.py
     ├── settings.py
     ├── urls.py
     └── wsgi.py

我们会发现执行命令后,新建了一个 mysite 目录,其中还有一个 mysite 目录,这个子目录 mysite 中是一些项目的设置settings.py 文件,总的urls配置文件 urls.py 以及部署服务器时用到的 wsgi.py 文件, __init__.py 是python包的目录结构必须的,与调用有关。


我们到外层那个 mysite 目录下(不是mysite中的mysite目录)

二, 新建一个应用(app), 名称叫 learn

1
python manage.py startapp learn  # learn 是一个app的名称

我们可以看到mysite中多个一个 learn 文件夹,其中有以下文件

1
2
3
4
5
6
learn/
├── __init__.py
├── admin.py
├── models.py
├── tests.py
└── views.py

把我们新定义的app加到settings.py中的INSTALL_APPS

修改 mysite/mysite/settings.py

1
2
3
4
5
6
7
8
9
10
INSTALLED_APPS  =  (
     'django.contrib.admin' ,
     'django.contrib.auth' ,
     'django.contrib.contenttypes' ,
     'django.contrib.sessions' ,
     'django.contrib.messages' ,
     'django.contrib.staticfiles' ,
 
     'learn' ,
)

备注,这一步是干什么呢? 新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件) , 后面你会学习到它们分别用来干什么.

定义视图函数

我们在learn这个目录中,把views.py打开,修改其中的源代码,改成下面的

1
2
3
4
5
#coding:utf-8
from  django.http  import  HttpResponse
 
def  index(request):
     return  HttpResponse(u "欢迎光临 自强学堂!" )

第一行是声明编码为utf-8, 因为我们在代码中用到了中文,如果不声明就报错.

第二行引入HttpResponse,它是用来向网页返回内容的,就像Python中的 print 一样,只不过 HttpResponse 是把内容显示到网页上。

我们定义了一个index()函数,第一个参数必须是request,,与网页发来的请求有关,可以包含getpost的内容,函数返回一行字到网页。

那我们访问什么网址才能看到刚才写的这个函数呢?怎么让网址和函数关联起来呢?

定义视图函数相关的URL(网址)

我们打开 mysite/mysite/urls.py 这个文件, 修改其中的代码:

1
2
3
4
5
6
7
8
9
10
11
12
from  django.conf.urls  import  patterns, include, url
 
from  django.contrib  import  admin
admin.autodiscover()
 
urlpatterns  =  patterns('',
     # Examples:
     url(r '^$' 'learn.views.index' , name = 'home' ), # Notice this line
     # url(r'^blog/', include('blog.urls')),
 
     url(r '^admin/' , include(admin.site.urls)),
)

以上都修改并保存后,我们来看一下效果!

在终端上运行 python manage.py runserver (相当于启动服务器!)我们会看到类似下面的信息:

1
2
3
4
5
6
7
8
tu@pc:~/mysite$ python manage.py runserver
Validating models...
 
0 errors found
May 24, 2014 - 10:22:14
Django version 1.6.5, 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/

不出意料的话会看到:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值