django之配置静态文件-创新互联

使用环境:python3,新建django项目

目前创新互联公司已为上千家的企业提供了网站建设、域名、虚拟主机、网站托管维护、企业网站设计、绥滨网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

mysql数据库还是使用test2库。

进入python3环境:

]# cd py3/django-test1/

新建项目test5:

]# django-admin startproject test5

在test5项目下创建应用bookshop:

]# cd test5
]# python manage.py startapp bookshop

修改settings.py主配置文件:

]# vim test5/settings.py
#中添加应用
INSTALLED_APPS = (
    ...
    'bookshop',
)

#配置静态文件
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR,'static')
]

#配置模板路径
TEMPLATES = {
    'DIRS' : [os.path.join(BASE_DIR,'templates')],
    ...
}

#配置使用mysql数据库
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test2',
        'USER': 'root',
        'PASSWORD':'root',
        'HOST':'192.168.255.70',
        'PORT':'3306',
    }
}

创建静态文件路径:

]# mkdir -p static/bookshop

把静态文件,如美女图片girl1.jpg,放到test5/static/bookshop目录下。

配置根url路径:

]# vim test5/urls.py
urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^',include('bookshop.urls')),
]

配置应用url路径:

]# vim bookshop/urls.py
from django.conf.urls import url
from .  import views
urlpatterns = [
    url(r'^$',views.index),
]

定义视图:

]# vim bookshop/views.py
from django.shortcuts import render

def index(request):
    return render(request,'bookshop/index.html')

定义html模板:

]# mkdir -p templates/bookshop
]# vim templates/bookshop/index.html



    Title




此时的设置,在settings.py文件中的静态路径与html中src指定的路径是写死的,如果STATIC_URL改变设置,则页面会打不开。

由于python3中使用连接mysql数据库需要特殊处理:

]# vim test5/__init__.py
import pymysql
pymysql.install_as_MySQLdb()

启动django服务:

]# python manage.py runserver 192.168.255.70:8000

浏览器访问:http://192.168.255.70:8000/

显示:

django之配置静态文件

如果STATIC_URL = 'images',则必须在html模板中的src要做相应修改为: 两者路径必须保持一致,这个路径是逻辑上的,实际根本没有这个目录,可以达到隐藏路径的效果。

当然,可以使用一种动态的方法,在html模板中不必写死静态路径,从而实现灵活配置:

在html模板中使用static标签:

]# vim templates/bookshop/index.html
{% load static from staticfiles %}



    Title




浏览器访问:http://192.168.255.70:8000/可见效果。

这样,仅修改STATIC_URL ='XXXX',一处逻辑路径,html模板会自动识别逻辑路径,从而完成访问资源。

django中静态文件实现即先查找逻辑路径,再查找物理存放路径。

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


网站栏目:django之配置静态文件-创新互联
文章网址:http://ybzwz.com/article/ddcisd.html