. 任務目標
隨著業務的增加,各個單位部分的聯系人也越來越多,所以需要做一個通訊錄。
2. 創建ipa app
3. 設置settings.py
4. 編寫models
思路:因為是通訊錄,所以要考慮好數據庫字段。
業務信息整合表上有的字段為:序號 單位名稱 政府單位接口人 第三方軟件接口人 帶寬使用 項目名稱 系統名稱 IP地址 虛擬機名稱 CPU核數 主頻(GHz) 理論峰值計算能力(萬億次每秒) 最小計算能力(萬億次每秒) 最大計算能力(萬億次每秒) 內存(GB) 系統盤 存儲盤 磁盤總容量 裸磁盤容量 操作系統 密碼 備注
結合大家意見和王哥的Django通信錄:初步字段決定為:單位名稱、單位接口人姓名電話、第三方接口人姓名電話、政府/企業、項目、系統、備注(備注里面填第三方聯系人電話)。
①、編寫models模型
from django.db import models
# Create your models here.
# 創建通訊錄表
class ipa(models.Model):
# blank=True 表示可傳入空白字段。
unit_name=models.CharField(null=True, blank=True, verbose_name='單位名稱', max_length=24)
unit_user=models.CharField(null=True, blank=True, verbose_name='單位聯系人和電話', max_length=64)
third_party=models.CharField(null=True, blank=True, verbose_name='第三方聯系人和電話', max_length=64)
unit_type=models.CharField(null=True, blank=True, verbose_name='政府or企業?', max_length=64)
unit_project=models.CharField(null=True, blank=True, verbose_name='項目名稱', max_length=24)
unit_system=models.CharField(null=True, blank=True, verbose_name='系統', max_length=64)
unit_remarks=models.TextField(null=True, blank=True, verbose_name='備注')
# 加入這個修改后臺管理界面時顯示單位名稱
def __str__(self):
return self.unit_name
②、激活模型
出現這個文件,代表 成功!
5. 創建管理員
因為之前已經創建過管理員了,所以這里不再創建,沒創建的在這里輸入這個命令,按照提示進行即可
python manage.py createsuperuser
創建完成之后就可以在后臺添加數據了。
6. 編寫urls.py
①、編寫mysite/urls.py
在總路由下,添加一條ipa信息。
②、編寫子urls
在ipa下創建urls.py文件
from django.urls import path
from . import views
# 命名空間
app_name='ipa'
urlpatterns=[
# ipa為views定義的名字。
path('', views.ipa, name='ipa')
]
7、編寫ipa/views.py文件
from django.shortcuts import render
from . import models
# Create your views here.
def ipa(request):
ipa_info=models.ipa.objects.all()
# 在控制臺打印測試
# print(ipa_info)
return render(request, 'ipa/index.html', locals())
8、在網頁上展示
①、創建ipa/templtes/ipa/index.html文件
②、不引入adminlte框架的數據展示
<table border="1">
<!--表頭-->
<thead>
<tr>
<th>序號</th>
<th>單位名稱</th>
<th>單位接口人</th>
<th>第三方軟件接口人</th>
<th>政府/企業</th>
<th>項目名稱</th>
<th>系統</th>
<th>備注</th>
</tr>
</thead>
<!--數據-->
<tbody>
{% for ipa in ipa_info %}
<tr>
<td>{{ forloop.counter }}</td>
<td>{{ ipa.unit_name }}</td>
<td>{{ ipa.unit_user }}</td>
<td>{{ ipa.third_party }}</td>
<td>{{ ipa.unit_type }}</td>
<td>{{ ipa.unit_project }}</td>
<td>{{ ipa.unit_system }}</td>
<td>{{ ipa.unit_remarks }}</td>
</tr>
{% endfor %}
</tbody>
</table>
②引入adminlte框架展示數據
者 | Mateusz Iwaniuk
譯者 | 明明如月,責編 | 夕顏
出品 | CSDN(ID:CSDNnews)
文章配套代碼: https://github.com/iwaniukooo11/email-sender
現在,即使是創建最基本的網站,程序員也必須使用現代的功能和技術。甚至像為你的朋友創建簡單的投資組合這樣的基本項目也可能涉及到一些問題,比如從聯系人表單接收數據。有很多方法可以讀取這些數據。你可以將表單與數據庫連接起來,然后從數據庫中讀取傳入的消息來實現功能,但這樣做會給不懂技術的客戶造成困難。
你為什么不通過發送電子郵件傳輸信息?
不使用數據庫就能接收到傳入的消息,絕對是最佳選擇,也是最方便用戶的選擇。但問題來了—如何實現呢?你可能認為需要使用某種后端語言。
實際上,你不必使用任何如 php 或 python 這種后端語言,你甚至不需要用到 node.js!你需要的就是一個簡單的EmailJS 庫。
本文將介紹下面兩個重要功能:
配置 emailjs 帳戶
使用 JS 發送電子郵件
請注意,在我的項目中,我使用了 gulp 和 webpack,我在 src 文件夾存放源碼,dist 存放最終發布版本的代碼。
我將分 5 個步驟向你展示如何從頭開始構建電子郵件發送器。
步驟1-用 HTML 創建表單
首先需要創建一個 HTML 表單。你不必放置像 required 或 max 這種驗證屬性,因為稍后,preventDefault 函數將在你的提交事件上運行,它會讓這些屬性的處理失效。
表單中最重要的是為每個輸入放置 name 屬性,后面會用到。
我的非常簡單的表單是這樣的:
src/html/index.html
<form class="form">
<input name='name' type="text" placeholder="Your name..." class="form__input" />
<input name='topic' type="text" placeholder="Topic..." class="form__input" />
<textarea name='message' type="text" placeholder="Your Message..." class="form__input" ></textarea>
<input type="submit" value="send" class="form__input form__input--button">
</form>
步驟2-注冊成為 email 用戶
要配置你的電子郵件,你必須注冊電子郵件服務。別擔心—使用這個網站非常方便和省時。
登入后,系統會詢問你的電子郵件服務,它位于個人電子郵件服務區(personal email service)。在我的例子中,我選擇了 gmail。
然后,你需要連接你的 gmail 帳戶。這將用來發送電子郵件給你客戶。例如,如果你關聯了 xyz@gmail.com 賬戶,你后續發送的郵件都將從這個郵箱發出。所以不要擔心“ Send email on your behalf” 這個授權信息—這正是你需要的!
連接完 gmail 賬戶后,點擊添加服務(add service)按鈕。
步驟3-創建郵件模板
如果你已經成功連接了你的 gmail 賬戶,你現在應該在信息中心中。現在需要創建電子郵件模板了。
切換到電子郵件模板卡,并單擊創建一個新的模板(create a new template)。界面非常友好,所以創建模板不會有任何問題。
你可以選擇模板的名稱和 ID。我稱之為“我的神奇模板(my_amazing_template)”。
接下來,你必須指定郵件的內容。
模板的變量值來自 input 中的 `name` 屬性。你已將變量插入`{{{}}}`符號中。
不要忘記在“收件人”部分 (右側) 添加電子郵件地址。你的電子郵件將被發送到該電子郵件地址上。截圖中的收件人郵箱是我自己的公司郵箱。
這是我的簡單模板,它使用來自 HTML 表單里的 3 個變量。我還指定了接收電子郵件的主題。
步驟4-保存 API 密鑰
這部分沒什么特別的。Emailjs 共享授權 API 密鑰,將在發送電子郵件時使用。當然,放這些鑰匙最好的地方是`.env` 配置。但是因為我使用的是簡單的靜態文件,我不想使用服務器配置,所以我將它們保存在 apikeys 文件中,然后再將它們導入。
你的 USER_ID 位于 Account > API Keys 菜單下。
TEMPLATE_ID 位于模板的標題下面。
這是我基于不存在的 keyssrc / js / apikeys. js 的示例配置.
src/js/apikeys.js
export default {
USER_ID :'user_DPUd-rest-of-my-id',
TEMPLATE_ID:'my_amazing_template'
}
如果需要將源碼發布到 GITHUB,不要忘記將 APIKEYS 文件添加到 .GITIGNORE文件中
現在是該項目最后也是最重要的部分的了。現在我們必須使用 javascript 發送電子郵件。
首先,你必須下載 emailjs 包。
npm i emails-com
然后,轉到 js 文件,導入庫和 apikeys。
src/js/main.js
import emailjs from 'emailjs-com'
import apiKeys from './apikeys'
現在是編寫發送電子郵件功能的時候了
src/js/main.js
const sendEmail=e=> {
e.preventDefault
emailjs
.sendForm('gmail', apiKeys.TEMPLATE_ID, e.target, apiKeys.USER_ID)
.then(
result=> {
console.log(result.text)
},
error=> {
console.log(error.text)
}
)
}
sendForm 函數有4個參數:
你的電子郵件的 ID,在這里:
TEMPLATE_ID 來自 apikey 文件,
事件對象來自你的表單提交
USER_ID 來自 apikey 文件,
最后,查找表單并添加提交事件監聽器:
src/js/main.js
const form=document.querySelector('.form')
form.addEventListener('submit',sendEmail)
正如我前面提到的,由于 `preventDefault` 函數,屬性驗證將無法工作。你必須使用 JS 自己進行驗證和清除輸入。
以上就是全部內容,接下來讓我們測試一下。
填寫頁面上的表單并發送。
我收到電子郵件,內容正是根據我們的模板和表單數據渲染出來的。
通過上圖可以看出,所有的變量的值都填充到了正確的位置上。
通過本文的介紹你會發現用 JS 發送郵件并非難事。
使用 emailjs,你可以簡單的方式發送電子郵件。
我相信你未來的用戶會很高興收到來自他們網頁上表單填寫數據的t郵件,相信本文對你有幫助。
這篇文章的配套代碼在這里: https://github.com/iwaniukooo11/email-sender
原文鏈接:
https://dev.to/iwaniukooo11/send-e-mails-directly-from-front-end-with-js-5d7d
本文為CSDN翻譯文章,轉載請注明出處。
?我們想研發一個機器學習框架,6 個月后失敗了
?生產型機器學習已經沒那么困難了?
?視頻 | 你不知道的"開源"60年秘史
?GitHub標星10,000+,Apache項目ShardingSphere的開源之路
?阿里技術專家告訴你,如何畫出優秀的架構圖?
?加拿大API平臺如何做到30%為中國明星項目?創業老兵這樣說……
年來,人們基于通訊錄的溝通正在向圈子化的社交關系鏈遷移,如微信的朋友圈,然而日常絕大部分溝通還是來自工作,以工作圈為主的企業溝通對于員工必不可少。伴隨著企業高速發展以及人員流動愈加頻繁,特別是部門多,人員雜的大企業,有些需要跨區域、跨部門共同協作才能進行的溝通,如果缺乏有效的溝通工具,就會出現跨部門溝通無門,成員之間溝通斷層的現象。再者,傳統的手機通訊錄需要一一手動添加,個人IM工具也需要逐一詢問添加賬號而后等待對方驗證、備注姓名,操作繁瑣、耗時費力。
因此,以企業通訊錄為核心的即時通訊工具對于企業內部信息化管理以及溝通意義重大。而BQ企業即時通(http://www.bossq.cn/index.html)將企業內部通訊錄和即時通訊功能很好地整合起來,不失為企業辦公溝通的一種選擇。
BQ企業即時通內嵌清晰簡潔的組織結構,員工可以在客戶端一目了然地看到整個公司的部門成員分布,還可以方便快捷地找到目標同事與其進行工作溝通。新員工入職,BQ企業即時通的組織結構還可幫助新人了解公司現有架構,快速融入企業。而所有這些通訊錄均無需員工自己手動添加,只需管理員分配好各人賬號導入管理系統即可。此外,移動端完全同步其PC端清晰的組織架構和通訊錄,滿足了企業多維度的溝通需求。
移動互聯網的普及,以及網絡資費的降低,讓低成本的語音溝通開始受到廣大商務人士的青睞。因此,BQ企業即時通順勢開發出免費的語音聊天功能,“BQ企業即時通本身自帶有公司通訊錄,無需員工手動添加,點擊頭像就可以進行語音聊天,方便又快捷”BQ企業即時通的負責人說道。值得一提的是,BQ企業即時通不但可實現手機間語音聊天,還支持手機端與PC端的雙向語音通話,最大限度滿足不同商務人士的通信需求。
如果說,以朋友圈為主的微信聯系是一種生活方式,那么基于企業通訊錄的BQ企業即時通聯系則是一種工作方式,這種帶著更明確的工作目的性溝通,能更快地解決問題。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。