Django建站

Django建站

Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站!

1.环境搭建

需要先安装pip
sudo apt install python-pip
安装python3版本的pip
sudo apt install python3-pip
安装Django
pip安装方法
pip install Django
python3安装
pip3 install Django
或者用apt安装
sudo apt install python-django
检查是否安装成功,进入python shell模式
>>> import django
>>> django.VERSION
(1, 8, 7, 'final', 0)
>>>
显示版本号安装成功。
TODO:多个互不干扰的环境。

2.创建django工程

django-admin startproject hello
会创建hello目录,进入hello目录可以看到结构如下
.
├── hello
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py
hello为工程名,manage.py为管理工具,settings.py是工程的相关设置,包括数据库与安装的app等设置,urls.py为网站页面的相关映射,将python相关函数映射为网址。

3.新建app

python manage.py startapp index
此时目录结构如下
.
├── hello
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-35.pyc
│   │   └── settings.cpython-35.pyc
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── index
│   ├── admin.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
└── manage.py
可以看到该目录下多了index的文件夹。相比之下该目录下少了settings.py与urls.py,主要用的有views.py与models.py,还有需要自己创建的forms.py,tamplates文件夹。

4.编辑视图

编辑views.py
from django.shortcuts import render

# Create your views here.

def index(request):
    string='hello'
    return render('index.html',{'string':string})
定义index函数,返回index.html,同时传入string变量。

5.注册index app

编辑settings.py,添加index到已安装app
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'index',
)

6.将url与函数连接

编辑urls.py,将网址与函数连接
from django.conf.urls import include, url
from django.contrib import admin
#添加这一行
from index import views as index_views

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    #添加这一行
    url(r'^index/$', index_views.index,name='index'),
]
访问index时将执行index函数。

7.编辑index.html

在Django中,网页以模板的形式展现,Django会自动寻找目录下的tamplates文件夹,所以先创建该文件夹
mkdir templates
cd templates
touch index.html
此时目录结构如下
.
├── hello
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-35.pyc
│   │   └── settings.cpython-35.pyc
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── index
│   ├── admin.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── templates
│   │   └── index.html
│   ├── tests.py
│   └── views.py
└── manage.py
编辑index.html
<html>
<head>
    <meta charset="UTF-8">
    <title>Hello</title>
</head>
<body>
    {{string}}
</body>
</html>

8.启动服务器

需要先运行一下命令进行迁移,不是很懂migrate的翻译
python manage.py migrate
然后执行一下命令运行服务器
python manage.py runserver
通过访问http://127.0.0.1:8000就可以看到页面了

9.监听ip,测试用服务器

修改settings.py
ALLOWED_HOSTS = ['192.168.199.144']
执行以下命令
python manage.py runserver 0.0.0.0:8000

10.TODO:ngix部署,supervisor管理,form,models,

评论

此博客中的热门博文

树莓派SSH无法登陆

VS Code 与 LaTeX 真乃天作之合

校园网ipv6免流量(VPS+Shadowsocks+proxierfier)