django之配置静态文件

  

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

mysql数据库还是使用test2库。


进入python3环境:

)#,cd  py3 django-test1/

新建项目test5:

)#,django-admin  startproject  test5

在test5项目下创建应用书店:

)#,cd  test5   )#,python  manage.py  startapp 书店

修改设置。py主配置文件:

)#,vim  test5/settings.py   #中添加应用   INSTALLED_APPS =, (   ,,,…   ,,,& # 39;书店# 39;   )      #配置静态文件   时间=STATIC_URL  & # 39;/静态/& # 39;   STATICFILES_DIRS =, (   ,,,os.path.join (BASE_DIR & # 39;静态# 39;)   ]      #配置模板路径   TEMPLATES =, {   ,,,& # 39;dirs # 39;,:, (os.path.join (BASE_DIR & # 39;模板# 39;)),   ,,,…   }      #配置使用mysql数据库   DATABASES =, {   ,,,& # 39;默认# 39;:,{   ,,,,,,,& # 39;引擎# 39;:,& # 39;django.db.backends.mysql& # 39;   ,,,,,,,& # 39;名字# 39;:,& # 39;test2 # 39;   ,,,,,,,& # 39;用户# 39;:,& # 39;根# 39;   ,,,,,,,& # 39;密码# 39;:& # 39;根# 39;   ,,,,,,,& # 39;主机# 39;:& # 39;192.168.255.70& # 39;   ,,,,,,,& # 39;港口# 39;:& # 39;3306 & # 39;   ,,,}   }

创建静态文件路径:

)#,mkdir  -p 静态/书店

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

配置根url路径:

)#,vim  test5/urls . py   urlpatterns =, (   ,,,url(" # 39;管理/^ & # 39;,,包括(admin.site.urls)),   ,,,url(" # 39; ^ & # 39;,包括(& # 39;bookshop.urls& # 39;)),   )

配置应用url路径:

)#,vim 书店/urls . py   得到django.conf.urls  import  url   得到只import 视图   urlpatterns =, (   ,,,url (" # 39; ^ $ & # 39;, views.index),   )

定义视图:

)#,vim 书店/views.py   得到django.shortcuts  import 渲染      def 指数(请求):   ,,,return 渲染(请求,& # 39;书店/index . html # 39;)

定义html模板:

)#,mkdir  -p 模板/书店 ]#,vim 模板/书店/index . html   & lt; ! DOCTYPE  html>   & lt; html>   & lt; head>   ,,,& lt; title> Title   & lt;/head>   & lt; body>   https://www.yisu.com/zixun/& lt; img  src="/静态/书店/girl1.jpg”>      

此时的设置,在设置。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=& # 39;图像# 39;,则必须在html模板中的src要做相应修改为:& lt; https://www.yisu.com/zixun/img src="/图片/书店/girl1.jpg”宽度=" 600 "高度=" 600 "/>两者路径必须保持一致,这个路径是逻辑上的,实际根本没有这个目录,可以达到隐藏路径的效果。


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

在html模板中使用静态标签:

)#,vim 模板/书店/index . html   {%,load  static 得到staticfiles  %}   & lt; ! DOCTYPE  html>   & lt; html>   & lt; head>   ,,,& lt; title> Title   & lt;/head>   & lt; body>   https://www.yisu.com/zixun/& lt; img  src="/图片/书店/girl1.jpg”宽度=" 600 "高度=" 600 "/>   
        

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

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

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

django之配置静态文件