中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

外掛網(wǎng)站怎么做廣告代理商

外掛網(wǎng)站怎么做,廣告代理商,網(wǎng)站外網(wǎng)訪問怎么做路由器端口映射,接網(wǎng)站建設(shè)單子文章目錄 一、靜態(tài)文件及相關(guān)配置1.以登錄功能為例2.靜態(tài)文件3.資源訪問4.靜態(tài)文件資源訪問如何解決? 二、靜態(tài)文件相關(guān)配置1. 如何配置靜態(tài)文件配置?2.接口前綴3. 接口前綴動態(tài)匹配4. form表單請求方法補(bǔ)充form表單要注意的點(diǎn) 三、request對象方法reque…

文章目錄

  • 一、靜態(tài)文件及相關(guān)配置
      • 1.以登錄功能為例
      • 2.靜態(tài)文件
      • 3.資源訪問
      • 4.靜態(tài)文件資源訪問
            • 如何解決?
  • 二、靜態(tài)文件相關(guān)配置
      • 1. 如何配置靜態(tài)文件配置?
      • 2.接口前綴
      • 3. 接口前綴動態(tài)匹配
      • 4. form表單
            • 請求方法補(bǔ)充
            • form表單要注意的點(diǎn)
  • 三、request對象方法
      • request請求結(jié)果
            • 代碼展示
  • 四、Django連接數(shù)據(jù)庫
      • pycharm連接MySql
      • Django連接MySQL
  • 五、Django ORM簡介
      • 基本ORM操作(數(shù)據(jù)的遷移)
            • 關(guān)于數(shù)據(jù)庫遷移失敗的原因
      • Django ORM字段增刪改查
      • Django ORM數(shù)據(jù)增刪改查

一、靜態(tài)文件及相關(guān)配置

1.以登錄功能為例

login.html頁面

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" href="../static/bootstrap-3.4.1-dist/css/bootstrap.min.css"><script src="../static/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>
</head>
<body><div><div class="container"><div class="row"><h1 class="text-center">用戶登錄</h1><div class="col-md-8 col-md-offset-w"><form action=""><p>username:<input type="text" class="form-control"></p><p>password:<input type="text" class="form-control"></p><input type="submit" class="btn btn-success btn-block" value="用戶登錄"></form></div></div></div>
</div>

2.靜態(tài)文件

不經(jīng)常變化的文件,主要針對html文件所使用到的各種資源,比如css文件、js文件、img文件、第三方框架文件

Django針對靜態(tài)文件資源需要單獨(dú)開一個(gè)目錄,統(tǒng)一存放在static文件夾里

static目錄   該目錄下類型文件居多可再分css目錄js目錄img目錄utils目錄/plugins目錄/libs目錄/others目錄/不創(chuàng)

3.資源訪問

我們在地址欄之所以輸入路由獲取到相對應(yīng)的資源,是因?yàn)槌绦騿T提前開設(shè)了資源接口,比如在網(wǎng)址輸入127.0.0.1:8000/admin,就能訪問對應(yīng)的接口資源
在這里插入圖片描述

4.靜態(tài)文件資源訪問

直接引入css和js是不能直接使用動態(tài)效果的,想要靜態(tài)文件配置添加,添加了bootstrap之前要添加jQuery。

默認(rèn)情況下無法訪問,是因?yàn)闆]有提前開設(shè)靜態(tài)文件資源的訪問接口,如圖所示
在這里插入圖片描述

login能請求成功,是瀏覽器朝這個(gè)網(wǎng)址http://127.0.0.1:8000/login/,這個(gè)后端已經(jīng)開設(shè)了訪問端口。

請求URL:http://127.0.0.1:8000/static/bootstrap-3.4.1-dist/css/bootstrap.min.css 是在自己的瀏覽器朝這個(gè)網(wǎng)址請求資源,但是后端沒有開設(shè)端口,所以訪問不到資源

如何解決?

理論我們應(yīng)該在urls填寫相對應(yīng)的關(guān)系,但是靜態(tài)文件太多了,所以Django專門為靜態(tài)文件開設(shè)了一個(gè)static文件資源接口

二、靜態(tài)文件相關(guān)配置

1. 如何配置靜態(tài)文件配置?

首先在setting.py里面找到STATIC_URL = ‘/static/’,在下面配置static所在資源的路徑
在這里插入圖片描述
相當(dāng)于把static路徑添加到環(huán)境變量中去,但是要注意把login.html中的…去掉

2.接口前綴

STATIC_URL = '/static/'  # 訪問靜態(tài)文件資源的接口前綴(通行證)
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'),  # 存儲靜態(tài)文件資源的目錄名稱os.path.join(BASE_DIR, 'static1'),  # 存儲靜態(tài)文件資源的目錄名稱os.path.join(BASE_DIR, 'static2'),  # 存儲靜態(tài)文件資源的目錄名稱
]"""接口前綴正確之后 會拿著后面的路徑依次去到列表中自上而下查找 一旦找到就返回"""

查找順序
接口前綴>>>接口資源文件(自上而下,找到就截止),接口前綴對了才有資格訪問接口文件資源

要是想切換接口前綴呢?

有時(shí)候就瀏覽器會請求臨時(shí)緩存內(nèi)容發(fā)送我們,我們不可能一個(gè)一個(gè)去改static,太麻煩了,我們直接動態(tài)獲取

3. 接口前綴動態(tài)匹配

靜態(tài)文件配置
<link rel="stylesheet" href="/static/bootstrap-3.4.1-dist/css/bootstrap.min.css">
<script src="/static/bootstrap-3.4.1-dist/js/bootstrap.min.js"></script>

如果需要改接口前綴的話,需要把上面的靜態(tài)文件配置改為下面的模板語法(可動態(tài)獲取)

django提供的模板語法{% load static %},相對于模塊。
{% load static %}
<link rel="stylesheet" href="{% static 'bootstrap-3.4.1-dist/css/bootstrap.min.css' %}">
<script src="{% static 'bootstrap-3.4.1-dist/js/bootstrap.min.js' %}"></script>

4. form表單

action      控制數(shù)據(jù)提交的地址1.action=""  數(shù)據(jù)默認(rèn)提交當(dāng)前頁面所在的地址2.action="https://www.baidu.com/"  完整網(wǎng)址3.action="/index"  朝當(dāng)前服務(wù)端的index地址提交method      控制數(shù)據(jù)提交的方法1.get    默認(rèn)2.post    可以改post  method="post"form表單默認(rèn)get請求  , 朝瀏覽器發(fā)送請求會是敏感數(shù)據(jù),要換成post請求,mothed=post
請求方法補(bǔ)充

1.get請求 :朝服務(wù)端索要數(shù)據(jù),也可以攜帶一些額外的要求。

? 攜帶額外數(shù)據(jù)方式:URL?xxx=yyy&uuu=zzz,但是問號后面攜帶的數(shù)據(jù)大小是有限制的(2-8kb),并且不能攜帶敏感數(shù)據(jù)(密碼)

2.post請求: 朝服務(wù)端提交數(shù)據(jù)

? 攜帶額外數(shù)據(jù)的方式:請求體,請求體攜帶數(shù)據(jù)安全性較高并且沒有大小的限制。

? 前期發(fā)送post請求需要注釋掉配置文件中的某一行

method="post"
MIDDLEWARE = ['django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware',# 'django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',
]

在這里插入圖片描述

form表單要注意的點(diǎn)

1.關(guān)于請求方法

2.獲取用戶標(biāo)簽要加name屬性,不加name屬性是填寫不了

3.修改settings里面的配置

三、request對象方法

理解

request={WSGIReques} <WSGIRequest: GET '/login/'>
兩層封裝,第一層wsi封裝了大字典,第二層是django封裝成了方法,返回給我們的是里面含有很多方法

request請求結(jié)果

請求方法描述結(jié)果
request.method結(jié)果是純大寫的字符串?dāng)?shù)據(jù)GET/POST
request.POST獲取post請求體里面攜帶的數(shù)據(jù)
request.POST.get()獲取列表最后一個(gè)數(shù)值
request.POST.getlist()獲取整個(gè)列表數(shù)據(jù)
request.GET獲取網(wǎng)址問號后面攜帶的數(shù)值
request.GET.get()獲取列表最后的一個(gè)數(shù)值
request.GET.getlist()獲取整個(gè)列表數(shù)據(jù)
代碼展示
代碼展示
def login(request):"""如果get請求直接返回html頁面如果是post請求,那么需要獲取發(fā)送過來的數(shù)據(jù):param request::return:"""print(request.GET)if request.method=='GET':# 1.返回html頁面# print(request.method)  # / GET/POSTreturn render(request,'login.html')elif request.method=='POST':#2.獲取post請求體里面的數(shù)據(jù)print(request.POST)   # <QueryDict: {'kimi': ['kimi'], 'pwd': ['123']}>name=request.POST.get('name')  # 獲取列表最后一個(gè)數(shù)據(jù)值pwd=request.POST.get('pwd')print(name,type(name),pwd,type(pwd))  # kimi <class 'str'> 123 <class 'str'>name1=request.POST.getlist('name')print(name1,type(name1))  # ['kimi'] <class 'list'>return HttpResponse('數(shù)據(jù)我收到了')

四、Django連接數(shù)據(jù)庫

pycharm連接MySql

1,pycharm初次連接數(shù)據(jù)庫,都要下載相應(yīng)的驅(qū)動,驅(qū)動不行就換驅(qū)動,驗(yàn)證的話就是登錄用戶名(端口和地址) 庫名,驗(yàn)證登錄就用test connection

三個(gè)位置查找數(shù)據(jù)庫相關(guān)1.右側(cè)上方database2.左下方database3.配置里面的plugins插件搜索安裝
注意:	都沒有再沒有卸載pycharm重新裝	

在這里插入圖片描述
2.登錄管理員賬戶和密碼,連接你需要的數(shù)據(jù)庫(庫要提前創(chuàng)建好),在連接之前可以先點(diǎn)擊Test Connection 測試連接是一次。注意:在公司不能是管理員的用戶登錄的!

在這里插入圖片描述
3.成功連接成功
在這里插入圖片描述

Django連接MySQL

django自帶的sqlite3是一個(gè)小型的數(shù)據(jù)庫,功能比較少,主要是用于本地測試。實(shí)際項(xiàng)目都會替換它的

1.修改配置文件中的數(shù)據(jù)庫設(shè)置成Django連接MySQL

django配置文件中默認(rèn)的是sqlite3數(shù)據(jù)庫
DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': os.path.join(BASE_DIR, 'db.sqlite3'),}
}django連接MySQL要修改上述配置
1.第一配置文件中配置
DATABASES = {'default': {# 'ENGINE': 'django.db.backends.sqlite3',   # 修改成MySQL數(shù)據(jù)庫# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),   # 連接數(shù)據(jù)庫名稱 先創(chuàng)建好才能指定'ENGINE': 'django.db.backends.mysql',   # 修改成MySQL數(shù)據(jù)庫'NAME': 'djangodb1',   # 連接數(shù)據(jù)庫名稱 先創(chuàng)建好才能指定'HOST': '127.0.0.1','PORT': 3306,'USER': 'root','PASSWORD': '123','CHARSET': 'utf8'}
}注意,左邊的名字都要大寫!!!!

2.手動改動將默認(rèn)mysqldb改為pymysql
django默認(rèn)用的是mysqldb模塊鏈接MySQL, 但是該模塊的兼容性不好 需要手動改為用pymysql鏈接,需要指定模塊

? 2.1 django1.X版本需要在項(xiàng)目目錄下或者app目錄下的__init__.py編寫代碼

import pymysql
pymysql.install_as_MySQLdb()

? 2.2 django2.X及以上都可以直接通過下載mysqlclient模塊解決

pip3.8 install mysqlclient

該模塊windows下載問題不大 主要是mac電腦可能有問題

五、Django ORM簡介

ORM:對象關(guān)系映射

? 優(yōu)點(diǎn):它能夠讓不會SQL語句的python程序員,使用python面向?qū)ο蟮恼Z法來操作數(shù)據(jù)庫。

? 缺點(diǎn):封裝程度太高,有時(shí)候sql語句的效率偏低,需要自己寫SQL語句。

類             表
對象           一條條數(shù)據(jù)
對象點(diǎn)名字     數(shù)據(jù)獲取字段對應(yīng)的值

基本ORM操作(數(shù)據(jù)的遷移)

1.在models.py中編寫模型類

class User(models.Model)# 字段名=字段類型+約束條件# id int primary_key auto_incrementid=models.AutoField(primary_key=True)# username varchar(32)  # CharField必須要加max_length參數(shù),不加報(bào)錯name=models.CharField(max_length=32)# password intage=models.IntegerField()

2.執(zhí)行數(shù)據(jù)庫遷移項(xiàng)目
打開terminal輸入命令

# 數(shù)據(jù)庫遷移
python38 manage.py makemigrations   將操作記錄到小本本上(migrations)
# 數(shù)據(jù)庫同步到數(shù)據(jù)庫中
python38 manage.py migrate    將操作同步到數(shù)據(jù)庫上注意:每次在models.py修改了與數(shù)據(jù)庫相關(guān)的代碼,都需要在執(zhí)行上述命令

在這里插入圖片描述

關(guān)于數(shù)據(jù)庫遷移失敗的原因

1.一個(gè)數(shù)據(jù)庫盡量只對應(yīng)一個(gè)django項(xiàng)目
2.多個(gè)Django使用一個(gè)數(shù)據(jù)庫,極易容易報(bào)錯

Django ORM字段增刪改查

name = models.CharField(max_length=64)
password1 = models.CharField(max_length=64, null=True)  直接在寫一個(gè)字段名就行,給它一個(gè)默認(rèn)值如果要刪除的話,直接刪掉那一行字段代碼就行增刪改查都需要執(zhí)行兩句話:
python38 manage.py makemigrations
python38 manage.py migrate

Django ORM數(shù)據(jù)增刪改查

http://www.risenshineclean.com/news/55414.html

相關(guān)文章:

  • 營銷網(wǎng)站建設(shè)平臺淘寶店鋪推廣
  • 網(wǎng)站優(yōu)化都是怎么做的百度信息流效果怎么樣
  • 門戶網(wǎng)站 模板之家網(wǎng)站推廣方式有哪些
  • 利用網(wǎng)站空間做代理seo推廣一年要多少錢
  • 做商務(wù)網(wǎng)站要多少錢html網(wǎng)頁制作軟件有哪些
  • 自己做的網(wǎng)站很卡網(wǎng)絡(luò)營銷方案設(shè)計(jì)范文
  • 桂林漓江門票多少錢一張seo軟件推廣哪個(gè)好
  • wordpress如何修改評論長沙seo關(guān)鍵詞
  • wordpress做自建站app接入廣告變現(xiàn)
  • 在wordpress主題后臺安裝了多說插件但網(wǎng)站上顯示不出評論模塊競價(jià)廣告是什么意思
  • 滄州做網(wǎng)站的公司營銷方案包括哪些內(nèi)容
  • 對網(wǎng)站建設(shè)服務(wù)公司的看法新東方烹飪學(xué)校學(xué)費(fèi)一年多少錢
  • 各種瀏覽器網(wǎng)站大全淘寶新店怎么快速做起來
  • 互聯(lián)網(wǎng)網(wǎng)站建設(shè)公司做個(gè)電商平臺要多少錢
  • APP開發(fā)網(wǎng)站建設(shè)哪家好免費(fèi)網(wǎng)站統(tǒng)計(jì)代碼
  • 深圳wap網(wǎng)站建設(shè)公司關(guān)鍵詞優(yōu)化公司推薦
  • 怎么做色情網(wǎng)站賺錢品牌推廣策劃書范文案例
  • 建設(shè)政府信息資源共享網(wǎng)站如何查詢百度收錄情況
  • 中山企業(yè)網(wǎng)站制作寧德市委書記
  • 聊城做網(wǎng)站的公司信息市場調(diào)研報(bào)告怎么寫的
  • 做京東網(wǎng)站需要哪些手續(xù)互聯(lián)網(wǎng)宣傳推廣
  • 怎么把網(wǎng)站的標(biāo)題做的炫酷網(wǎng)絡(luò)營銷工程師
  • 常州網(wǎng)站制作報(bào)價(jià)故事式軟文廣告300字
  • 最便宜的外貿(mào)網(wǎng)站建設(shè)智能建站abc
  • 佛山外貿(mào)網(wǎng)站建設(shè)方案友鏈交易交易平臺
  • 網(wǎng)站域名解析ip新手做電商怎么起步
  • 企事業(yè)單位社區(qū)優(yōu)化設(shè)計(jì)三要素
  • 上海網(wǎng)站備案信息免費(fèi)發(fā)帖推廣的平臺
  • 做幼兒園成長冊的素材網(wǎng)站企業(yè)推廣網(wǎng)絡(luò)營銷外包服務(wù)
  • 查域名的網(wǎng)站網(wǎng)站seo排名培訓(xùn)