Django 部署html页面

基于上一篇文章,已创建一个项目 syztoo,并通过nginx能正常访问到 django 页面,目录结构如下:

[root@syztoo syztoo]# tree
.
├── db.sqlite3
├── manage.py
├── nohup.out
├── syztoo
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-37.pyc
│   │   ├── settings.cpython-37.pyc
│   │   ├── urls.cpython-37.pyc
│   │   ├── view.cpython-37.pyc
│   │   └── wsgi.cpython-37.pyc
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── syztoo.ini
└── syztoo.sock

接下来部署一个 html 页面,一个可以手动拖动的3D旋转正方体页面;


一、创建APP

在每个 django 项目中可以包含多个 APP,相当于一个大型项目中的分系统、子模块、功能部件等等,相互之间比较独立,但也有联系。所有的 APP 共享项目资源。

[root@syztoo syztoo]# python3 manage.py startapp apptoo

 将我们新建的应用(apptoo)添加到 settings.py 中的 INSTALLED_APPS中,也就是告诉Django有这么一个应用。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'apptoo',
]

如果只是部署一个 html 页面,也可不 创建 app ,直接在项目下定义 view 文件内容;

二、设置 url 路由映射方式

路由在 urls.py 文件里定义,它将浏览器输入的 url 映射到相应的业务逻辑下处理。

[root@syztoo syztoo]# cat syztoo/urls.py 
from django.conf.urls import url
 
from apptoo import views
 
urlpatterns = [
    url(r'^$', views.syztoo),
]

三、编写 apptoo 下的 views.py 文件

[root@syztoo apptoo]# cat views.py 
from django.shortcuts import render

# Create your views here.

def syztoo(request):
    return render(request,'monkey3d.html',)

四、在 settings.py 文件中定义 html 文件的路径

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'html')],
        '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',
            ],
        },
    },
]

TEMPLATES 的 DIRS 选项定义 html 文件的路径,在项目目录下创建 html 目录;

[root@syztoo syztoo]# mkdir html

五、定义 images、css,js 静态文件的路径

在项目下创建 static/{css,js,images} 目录:

[root@syztoo syztoo]# mkdir -pv static/{css,js,images}
mkdir: created directory ‘static’
mkdir: created directory ‘static/css’
mkdir: created directory ‘static/js’
mkdir: created directory ‘static/images’

并在 settings.xml 文件中定义静态文件的路径:

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static")
]
STATIC_ROOT = os.path.join(BASE_DIR, "/home/syztoo/static/")

六、获取3d旋转正方体 html 源码

[root@syztoo html]# cat monkey3d.html 
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>syztoo</title>
<style>
h3{
text-align: center;
color: #5A5A5A;
}
        body{
                background: #000;
        }
        #box{
                width: 200px;
                height: 200px;
                margin:150px auto;
                background: #ccc;
                position: relative;
                transform:perspective(800px) rotateY(-60deg) rotateX(45deg);
                transform-style:preserve-3d;
        }
        #box div{
                width:100%;
                height:100%;
                position: absolute;
                top:0;
                left: 0;
                background-size:cover; 
                -webkit-box-shadow:0 0 100px #5fbcff;
                opacity: .8;
        }
        .front{
                transform:translateZ(100px);
                background: url(/static/images/syztoo.jpg);
        }
        .back{
                transform:translateZ(-100px);
                background: url(/static/images/syztoo.jpg);
        }
        .left{
                transform:translateX(-100px) rotateY(90deg);
                background: url(/static/images/syztoo.jpg);
        }
        .right{
                transform:translateX(100px) rotateY(90deg);
                background: url(/static/images/syztoo.jpg);
        }
        .top{
                transform:translateY(-100px) rotateX(90deg);
                background: url(/static/images/syztoo.jpg);
        }
        .bottom{
                transform:translateY(100px) rotateX(90deg);
                background: url(/static/images/syztoo.jpg);
        }
</style>
<script>
        window.onload=function()
        {
                var oBox=document.querySelector('#box');

                var y=-60;
                var x=45;
                oBox.onmousedown=function(ev)
                {
                        var oEvent=ev||event;
                        var disX=oEvent.clientX-y;
                        var disY=oEvent.clientY-x;
                        document.onmousemove=function(ev)
                        {
                                var oEvent=ev||event;
                                x=oEvent.clientY-disY;
                                y=oEvent.clientX-disX;
                                oBox.style.transform='perspective(800px) rotateX('+x+'deg) rotateY('+y+'deg)';
                        };
                        document.onmouseup=function()
                        {
                                document.onmousemove=null;
                                document.onmouseup=null;
                        };
                        return false;
                };
        };
</script>
</head>
<body>
<h3>按住鼠标左键拖动</h3>
<div id="box">
        <div class="front"></div>
        <div class="back"></div>
        <div class="top"></div>
        <div class="bottom"></div>
        <div class="left"></div>
        <div class="right"></div>
</div>

<div style="text-align:center;clear:both">
<script src="/gg_bd_ad_720x90.js" type="text/javascript"></script>
<script src="/follow.js" type="text/javascript"></script>
</div>
</body>
</html>

网上下的,源码中的图片的调用路径已设置好了。

[root@syztoo syztoo]# tree
.
├── apptoo
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── __pycache__
│   │   ├── __init__.cpython-37.pyc
│   │   └── views.cpython-37.pyc
│   ├── tests.py
│   └── views.py
├── db.sqlite3
├── html
│   └── monkey3d.html
├── manage.py
├── nohup.out
├── static
│   ├── css
│   ├── images
│   │   └── syztoo.jpg
│   └── js
├── syztoo
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-37.pyc
│   │   ├── settings.cpython-37.pyc
│   │   ├── urls.cpython-37.pyc
│   │   ├── view.cpython-37.pyc
│   │   └── wsgi.cpython-37.pyc
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── syztoo.ini
└── syztoo.sock

10 directories, 25 files

重启服务:

[root@syztoo syztoo]# ps -ef | grep syztoo.ini | awk 'NR<4{print $2}' | xargs kill -9
[1]+  Killed                  nohup uwsgi --ini syztoo.ini
[root@syztoo syztoo]# nohup uwsgi --ini syztoo.ini &
[1] 32704

页面已可访问;

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值