日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Django 的操作

發布時間:2025/5/22 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Django 的操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

安裝:

pip install Django

?

創建django工程

django-admin startproject ?mysite?

python manage.py startapp blog

//urls 里添加 ,注意導入路徑文件 ,在views 里添加對應的函數 def show_time():pass;urlpatterns = [path('admin/', admin.site.urls),path('show_time/', views.show_time), //對應的文件 ]

在導入html文件的時候要注意

TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR),"templates"], //此處創建一個templates,添加路徑,識別視圖'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',],},}, ]

啟動工程

terminal-----:python manage.py runserver 127.0.0.1:8080

需要使用jquery的時候需要創建static靜態文件

//插入以下代碼 // static/jquery-x.x.x.js //當時調用的時候出錯了,這里使用中括號或者下面的那段,末尾加, =.=!~

STATIC_URL = '/static/' #別名,如果修改了下面static文件名字,這里不影響前端導入 STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static") //識別, ]
// STATICFILES_DIRS=(
// os.path.join(BASE_DIR,"static"),
// ) ?

?Django URL (路由系統)

//tree:urls urlpatterns=[url(r"...",...)url(r'article/(\d{4})',views.article_year #加括號代表分組 可以取得參數,無名分組//url(r'article/(?p<year>\d{4})',views.article_year #命名分組 ] //tree:views #無命名分組 def article_year(request,year)return HttpResponse("year:%s"%year)

以上是1.x 版本的正則表達方式,在做實驗的時候本人使用的是2.x版本,竟然報錯。一看文檔2.x已經非常簡化 url(r'article/(\d{4})',views.article_year 將改成以下
path("article/<int:year>/",views.article_year #<類型:命名>

Django默認支持以下5個轉化器:

  • str,匹配除了路徑分隔符(/)之外的非空字符串,這是默認的形式
  • int,匹配正整數,包含0。
  • slug,匹配字母、數字以及橫杠、下劃線組成的字符串。
  • uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
  • path,匹配任何非空字符串,包含了路徑分隔符
? 注冊自定義轉化器 對于一些復雜或者復用的需要,可以定義自己的轉化器。轉化器是一個類或接口,它的要求有三點:regex 類屬性,字符串類型to_python(self, value) 方法,value是由類屬性 regex 所匹配到的字符串,返回具體的Python變量值,以供Django傳遞到對應的視圖函數中。to_url(self, value) 方法,和 to_python 相反,value是一個具體的Python變量值,返回其字符串,通常用于url反向引用。例子:[python] view plain copy class FourDigitYearConverter: regex = '[0-9]{4}' def to_python(self, value): return int(value) def to_url(self, value): return '%04d' % value 使用register_converter 將其注冊到URL配置中:[python] view plain copy from django.urls import register_converter, path from . import converters, views register_converter(converters.FourDigitYearConverter, 'yyyy') urlpatterns = [ path('articles/2003/', views.special_case_2003), path('articles/<yyyy:year>/', views.year_archive), ... ] 使用正則表達式 如果上述的paths和converters還是無法滿足需求,也可以使用正則表達式,這時應當使用 django.urls.re_path函數。在Python正則表達式中,命名式分組語法為 (?P<name>pattern) ,其中name為名稱, pattern為待匹配的模式。之前的示例代碼也可以寫為:[python] view plain copy from django.urls import path, re_path from . import views urlpatterns = [ path('articles/2003/', views.special_case_2003), re_path('articles/(?P<year>[0-9]{4})/', views.year_archive), re_path('articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/', views.month_archive), re_path('articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<slug>[^/]+)/', views.article_detail), ] 這段代碼和之前的代碼實現了基本的功能,但是還是有一些區別:這里的代碼匹配更加嚴格,比如year=10000在這里就無法匹配。 傳遞給視圖函數的變量都是字符串類型,這點和 url 是一致的。 注冊自定義轉化器

?

----別名概念

//別名:添加一個學生注冊 在templates 創建register.html視圖 <form action="{% url 'reg' %}" method = "post"> urlpatterns=[url(r"...",...)//url(r'register',views.register,name="reg"), # 別名識別,就算修改了register是其他名稱也不影響全局 ]

?

def register(request):
# print(request.GET)
# print(request.GET.get("user"))

if request.method=="POST":
print("--------------------")
print(request.POST)
print(request.POST.get("user"))
return HttpResponse("success!")
return render(request,"register.html") ? <form action="{% url 'reg' %}" method="post">

?跳轉:

redirect("/blog/login/")

轉載于:https://www.cnblogs.com/lovelygang/p/9165003.html

總結

以上是生活随笔為你收集整理的Django 的操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。