您好,登錄后才能下訂單哦!
使用環境: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 <!DOCTYPE html> <html> <head> <title>Title</title> </head> <body> <img src="/static/bookshop/girl1.jpg"> </body> </html>
此時的設置,在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/
顯示:
如果STATIC_URL = 'images',則必須在html模板中的src要做相應修改為:<img src = "/images/bookshop/girl1.jpg" width="600" height="600" /> 兩者路徑必須保持一致,這個路徑是邏輯上的,實際根本沒有這個目錄,可以達到隱藏路徑的效果。
當然,可以使用一種動態的方法,在html模板中不必寫死靜態路徑,從而實現靈活配置:
在html模板中使用static標簽:
]# vim templates/bookshop/index.html {% load static from staticfiles %} <!DOCTYPE html> <html> <head> <title>Title</title> </head> <body> <img src="/pic/bookshop/girl1.jpg" width="600" height="600" /> <br> <img src="{% static 'bookshop/girl1.jpg' %}" width="600" height="600" /> </body> </html>
瀏覽器訪問:http://192.168.255.70:8000/可見效果。
這樣,僅修改STATIC_URL ='XXXX',一處邏輯路徑,html模板會自動識別邏輯路徑,從而完成訪問資源。
django中靜態文件實現即先查找邏輯路徑,再查找物理存放路徑。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。