pip install django
站在用戶的角度思考問題,與客戶深入溝通,找到杭錦網(wǎng)站設(shè)計與杭錦網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、申請域名、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋杭錦地區(qū)。
django-admin.py startproject mysite
[mysite 項目名稱]
當(dāng)前目錄下會成mysite的工程,目錄結(jié)構(gòu)如下:
py manage.py startapp app01
當(dāng)前目錄下會成mysite的工程,目錄結(jié)構(gòu)如下:
方法一:在cmd終端輸入
python manage.py runserver 8080
方法二:在pycharm中點擊Run運行
瀏覽器輸入網(wǎng)址urls下的path匹配到路徑之后,在視圖views中執(zhí)行指定的函數(shù)
注意:html文件要放在templates文件下面
# urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('timer/', views.timer),
]
# views.py
def timer(request):
import time
date = time.time()
return render(request,"timer.html", {"date":date})
# templates/timer.html
當(dāng)前時間:{{ date }}
作為一個網(wǎng)站應(yīng)該要把js和css文件放在服務(wù)器端,而不是簡單的放在timer.html同一個目錄下
4.是否只能用STATICFILES_DIRS,是的錯一個都不行
文件結(jié)構(gòu):
|---mysite
|---app01
|---demo
|---static
|---jquer-3.3.1.min.js
|---app01
|---timer.css
|---timer.js
|---templates
|---timer.html
# mysite/setting.py
STATIC_URL = "/static/"
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"), # 自定義靜態(tài)文件(statics名稱盡量和默認(rèn)保持一致)
]
將css和js分別放入app01文件夾中
timer.html中引入css和js文件
在瀏覽器中輸入http://127.0.0.1:8000/static/jquery-3.3.1.min.js 查看是否可以找到j(luò)Query文件
路由的配置就是哪一個路徑由哪一個視圖函數(shù)處理
舉個例子比如檔案庫中有2003,2004~2018的檔案進行分類,如果不用路由控制那就會出現(xiàn)下面這樣的情況。
# mysite/urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('timer/', views.timer),
re_path(r'^articles/2003/$', views.special_case_2003),
re_path(r'^articles/2004/$', views.special_case_2003),
re_path(r'^articles/2005/$', views.special_case_2003),
re_path(r'^articles/2018/$', views.special_case_2003),
]
那使用路由控制之后應(yīng)該是什么情況呢
# mysite/urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('timer/', views.timer),
re_path(r'^articles/2003/$', views.special_case_2003),
re_path(r'^articles/([0-9]{4})/$', views.special_year), # 一個分組相當(dāng)于多傳一個參數(shù),special_year(request,year)
re_path(r'^articles/([0-9]{4})/([0-9]{2})/$',views.mouth_archive),
re_path(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)$', views.archive_detail),
]
# app01/views.py
def special_case_2003(request):
return HttpResponse('special_case_2003')
def year_archive(request,year):
return HttpResponse(year)
def mouth_archive(request,year,mouth):
return HttpResponse(year,mouth)
def archive_detail(request,year,mouth,day):
return HttpResponse(year,mouth,day)
注意:
在分組中添加:?P<變量名稱>
urlpatterns = [
re_path(r'^articles/(?P<y>[0-9]{4})/(?P<m>[0-9]{2})/$',views.mouth_archive),
]
在瀏覽器中輸入http://127.0.0.1:8000/app01/2003/03/,就表示mouth_archive(request,y=2003,m=03),
就好比函數(shù)中固定參數(shù)傳值一樣
# mysite/urls.py
urlpatterns = [
path('admin/', admin.site.urls),
path('timer/', views.timer),
re_path(r'app01/',include("app01.urls"))
]
# app01/urls.py
urlpatterns = [
re_path(r'^articles/([0-9]{4})/([0-9]{2})/$',views.mouth_archive),
]
# 在template中創(chuàng)建一個login.html
<form action="{% url 'LOG' %}" method="post">
用戶名:<input type="text", name="user">
密碼:<input type="password" name="pwd">
<input type="submit" name="" id="">
</form>
# mysite/urls.py
# name='LOG'指的就是給login/起的別名
path('login/', views.login, name='LOG'),
當(dāng)前名稱:django框架
瀏覽地址:http://muchs.cn/article6/igecog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、網(wǎng)站維護、網(wǎng)頁設(shè)計公司、用戶體驗、Google、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)