树莓派下安装Django环境

20140906180850717-0

Django是Python下的一款网络服务器框架。Python下有许多款不同的框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。

安装pip


sudo apt-get install python-pip python-dev build-essential

sudo pip install --upgrade pip

安装Django

sudo pip install django

安装成功之后我们可以进入python命令行查看django版本


pi@raspberrypi ~/python_test $ python

Python 2.7.3 (default, Mar 18 2014, 05:13:23)

[GCC 4.6.3] on linux2

Type "help", "copyright", "credits" or "license" for more         information.

>>> import django

>>> print(django.VERSION)

(1, 6, 5, 'final', 0)

>>>

启动

使用下面的命令创建项目:

django-admin.py startproject django_site

在当前目录下,将生成django_site文件夹。其文件树结构如下:


pi@raspberrypi ~ $ tree django_site/

django_site/

├── django_site

│   ├── __init__.py

│   ├── settings.py

│   ├── urls.py

│   └── wsgi.py

└── manage.py



1 directory, 5 files

进入django_site,启动服务器:


pi@raspberrypi ~ $ cd django_site/

pi@raspberrypi ~/django_site $ python manage.py runserver 8000

Validating models...



0 errors found

May 24, 2014 - 12:46:51

Django version 1.6.5, using settings 'django_site.settings'

Starting development server at http://127.0.0.1:8000/

Quit the server with CONTROL-C.

进入树莓派桌面并打开浏览器,访问http://127.0.0.1:8000,可以看到服务器已经在运行:

20140906180850174-0

第一个网页’hello word’

修改urls.py


pi@raspberrypi ~/django_site/django_site $ vim /home/pi/django_site/django_site/urls.py



from django.conf.urls import patterns, include, url



from django.contrib import admin

admin.autodiscover()



urlpatterns = patterns('',

    # Examples:

    # url(r'^$', 'mysite.views.home', name='home'),

    # url(r'^blog/', include('blog.urls')),



    url(r'^admin/', include(admin.site.urls)),

    url(r'^$', 'django_site.views.first_page'),

)

我们添加了最后一行。它将根目录的URL分配给一个对象进行处理,这个对象是django_site.first_page。

用以处理HTTP请求的这一对象还不存在,我们在django_site/django_site下创建views.py,并在其中定义first_page函数:


pi@raspberrypi ~/django_site/django_site $ vim views.py

# -*- coding: utf-8 -*-



from django.http import HttpResponse



def first_page(request):

    return HttpResponse("<p>Hello World</p>")

第一行说明字符编码为utf-8,为下面使用中文做准备。first_page函数的功能,是返回http回复,即这里的Hello World 。first_page有一个参数request,该参数包含有请求的具体信息,比如请求的类型等,这里并没有用到。

页面效果如下:

20140906180850717-0

到此就可以尽情感受在树莓派上Django的编程乐趣了!

这是一篇发布于 10年 前的文章,其中的信息可能已经有所发展或是发生改变,请了解。