django for 前端_django 获取 前端 form 的文本数据

正常情况,我们都是应该采用 django 的表单处理 form 数据,有时候为了方便会直接 从 前端表单 获取 form 数据而不使用 django 的 表单验证。

一. 使用了 django 表单 处理数据

# forms.py(以本站 添加友情链接 为例子)

from django import forms

from django.forms.widgets import TextInput

from blog.models import FriendsURL

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) \

Chrome/53.0.2785.104 Safari/537.36 Core/1.53.4549.400 QQBrowser/9.7.12900.400"

}

web_error_status = [500, 502, 503, 400, 404]

class FriendsURLForm(forms.ModelForm):

signer_value = forms.CharField()

def clean_site_link(self):

site_link = self.cleaned_data.get("site_link").strip()

try:

req = requests.get(site_link, headers=headers, timeout=5)

if req.status_code in web_error_status:

logger.info("友情链接打开失败:%s" % site_link)

raise forms.ValidationError("网站链接无法连接,请检查网站链接填写是否正确")

else:

logger.info("友情链接打开成功:%s" % site_link)

return site_link

except Exception as e:

logger.error(e)

raise forms.ValidationError("网站链接无法连接,请检查网站链接填写是否正确")

class Meta:

model = FriendsURL

fields = ['name', 'contact', 'site_name', 'site_link', 'site_description']

widgets = {

'name': TextInput(attrs={'placeholder': '怎么称呼您'}),

'contact': TextInput(attrs={'placeholder': '邮箱和网站链接与上次一致时可以修改其他信息'}),

'site_name': TextInput(attrs={'placeholder': '友情链接显示名称,认真填写哦'}),

'site_link': TextInput(attrs={'placeholder': '邮箱和网站链接与上次一致时可以修改其他信息'}),

'site_description': TextInput(attrs={'placeho

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值