django入门--django-blog-zinnia搭建个人博客

Posted lwli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django入门--django-blog-zinnia搭建个人博客相关的知识,希望对你有一定的参考价值。

1、安装python

  选择合适python2.7及以上版本安装https://www.python.org/downloads/

2、建立虚拟环境

  这不是必须的,但是建议使用,为每个项目单独引入依赖,避免出现环境问题。对于python3.3以下版本可参考https://virtualenv.pypa.io/en/stable/installation/,python3.3及以上版本参考https://docs.python.org/3/library/venv.html

3、安装django-blog-zinnia

  • pip install django-blog-zinnia

4、建立django项目

  django-admin startproject mysite,mysite表示你的项目名称。django详细入门教程参考https://docs.djangoproject.com/en/1.11/intro/tutorial01/

5、修改mysite目录下的setting.py

  将INSTALLED_APPS 修改如下:

INSTALLED_APPS = (
  \'django.contrib.auth\',
  \'django.contrib.admin\',
  \'django.contrib.sites\',
  \'django.contrib.sessions\',
  \'django.contrib.messages\',
  \'django.contrib.staticfiles\',
  \'django.contrib.contenttypes\',
  \'django_comments\',
  \'mptt\',
  \'tagging\',
  \'zinnia\',
)

  修改TEMPLATES 

TEMPLATES = [
{
\'BACKEND\': \'django.template.backends.django.DjangoTemplates\',
\'DIRS\': [os.path.join(BASE_DIR, \'templates\')],
\'APP_DIRS\': True,
\'OPTIONS\': {
\'context_processors\': [
\'django.template.context_processors.debug\',
\'django.template.context_processors.request\',
\'django.contrib.auth.context_processors.auth\',
\'django.contrib.messages.context_processors.messages\',
],
},
},
]

STATIC_ROOT = os.path.join(BASE_DIR, "static/")
SITE_ID = 1#对应数据库中站点id

5、配置html文件

  在mysite文件夹中建立templates文件夹,将package中的模板,位于Lib\\site-packages\\zinnia\\templates,拷贝到templates中,根据需要修改base.html中相关内容

  python manage.py collectstatic

6、迁移数据库

  运行 python mange.py  migrate,会自动创建相关数据库文件,使用的是sqlite3数据库,可以再setting.py中修改

7、创建管理员

  python manage.py createsuperuser,可通过访问http://127.0.0.1:8000/admin/ 进行发布文章

8、启动

  python mange.y runserver

 

demo参见https://demo.django-blog-zinnia.com/blog/

 

使用uWSGI和nginx来设置Django和你的web服务器

1、安装最新稳定版nginx

  参考http://nginx.org/en/linux_packages.html#stable,例如在centos6上,创建/etc/yum.repos.d/nginx.repo这个文件,写入以下内容,然后执行yun install nginx

  [nginx]
  name=nginx repo
  baseurl=http://nginx.org/packages/centos/6/$basearch/
  gpgcheck=0
  enabled=1

2、安装python3,服务器没有python3,可以用源码安装,注意centos6上源码安装的可能没有sqllite3包,可以通过如下方式解决

  yum install sqlite-devel

  ./configure --enable-loadable-sqlite-extensions && make && sudo make install

  参考http://stackoverflow.com/questions/1210664/no-module-named-sqlite3

3、配置nginx

upstream django {
    server unix:///home/www/mysite/mysite.sock; # for a file socket,指向你启动uwsgi的目录的mysite.sock文件
    #server 127.0.0.1:8001; # for a web port socket (we\'ll use this first)
}

# configuration of the server
server {
    # the port your site will be served on
    listen      80;
    # the domain name it will serve for
    server_name example.com; # substitute your machine\'s IP address or FQDN
    charset     utf-8;

    # max upload size
    client_max_body_size 75M;   # adjust to taste

    # Django media
    location /uploads  {
        alias /home/www/zinnia-blog/uploads;  # your Django project\'s media files - amend as required
    }

    location /static {
        alias /home/www/zinnia-blog/static; # your Django project\'s static files - amend as required
    }

    # Finally, send all non-media requests to the Django server.
    location / {
        uwsgi_pass  django;
        include     /etc/nginx/uwsgi_params; # the uwsgi_params file you installed
    }
}

 

  将这个文件放置到nginx的配置目录,覆盖默认的配置就可以了。重启nginx

 

4、安装 uwsgi

  pip install uwsgi

5、启动服务

uwsgi --socket mysite.sock  --module mysite.wsgi --master -p 1 --threads 8 --daemonize log.txt

将会创建mysite.sock文件

 

以上是关于django入门--django-blog-zinnia搭建个人博客的主要内容,如果未能解决你的问题,请参考以下文章

Django入门进阶与项目实战

Django入门笔记

[Python] Django框架入门

Django入门全套(第三部)

Django入门 | Django开发

Python-django入门