Django学习记录

最近尝试接触了下Python的Web开发,总体而言很方便,不过得多查帮助文档,我也是简单的学习了下,并没有过多深入,下面我将从搭建到一些简单编写都记录下来以便以后查看。

首先我选择的环境是:Nginx、uwsgi、Django,依然是在我的Archlinux下,Nginx是现成的,只需要安装后两个软件即可。

Django的安装很简单,只需要下载软件包,解压然后执行:

python setup.py install

uwsgi的安装执行:

pacman -S uwsgi uwsgi-plugin-python2

注意一下包名即可,首先配置Nginx:

location /djweb/ {
    root   /srv/http/djsite;
    index  index.html index.htm;
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:9001;
}

由于我装在子目录中,所以得这样写,各位自己修改一下(在这里说明一下Django安装到子目录,在使用Nginx的时候会出现路径问题,需修改Django项目配置文件)。

配置uwsgi则较为麻烦一点,我也是琢磨了一段时间才解决,首先建立/etc/uwsgi/目录,然后在其中建立一个djweb.ini文件(文件名需要跟后面的命令一致),内容为:

socket = 127.0.0.1:9001
chdir = /srv/http/djweb
module = main
plugins = python2
chdir = /srv/http/djweb
wsgi-file = /srv/http/djweb/djweb/wsgi.py

这里需要注意一下socket需跟"Nginx"配置一致,"chdir"和"wsgi-file"为Django的项目目录,我这里还没有,准备在后面建立。

Django生成项目和应用:

$ cd /srv/http/
$ django-admin.py startproject djweb
$ django-admin.py startapp blog

这样会自动生成/srv/http/djweb目录以及其下的文件,这些都需要跟上面的配置一致。
配置好之后即可启动uwsgi和重启Nginx:

systemctl restart nginx
systemctl start uwsgi@djweb

刚刚说了djweb.ini文件名需跟上述命令中部分一致才可以,以上就配置好环境了,但是现在还需要修改Django项目的配置信息才能让其顺利跑起来:

  • 修改djweb/djweb/settings.py中的"INSTALLED_APPS",添加上"‘blog’,"(注意逗号分隔)。
  • 修改djweb/djweb/urls.py中的"urlpatterns",添加"url(r’^djweb/index/$’,‘index’),"(这里djweb为子目录站点)。
  • 编辑djweb/blog/views.py,添加下面内容。
from django.http import HttpResponse

def index(req):
    return  HttpResponse('Hello World')

最后访问:http://localhost/djweb/blog/index/查看是否可以显示内容。

写在结尾:这篇文章是在学习之后总结出来的,其中难免会出现一些疏漏,如有问题,请留言提醒。

转载请注明: 本文《Django学习记录》来源于bstaint的博客

没有评论: