7-7 modelform提交我要学习咨询


urls.py 的配置

    # 已经搬到 organization/urls.py
    # # 课程机构首页
    # url(r'^org_list/$', OrgView.as_view(), name="org_list"),
    # 课程机构url配置
    url(r'^org/', include('organization.urls', namespace='org')),


# _*_ encoding:utf-8 _*_
from django.conf.urls import url, include

from .views import OrgView

urlpatterns = [
    # 课程机构列表页
    # url(r'^org_list/$', OrgView.as_view(), name="org_list"),
    url(r'^list/$', OrgView.as_view(), name="org_list"),
]

访问地址:http://127.0.0.1:8000/org/list/


html页面

			<form class="rightform" id="jsStayForm" >
				<div>
                    <img src="{% static 'images/rightform1.png'%}"/>
                    <input type="text" name="name" id="companyName" placeholder="名字" maxlength="25" />
                </div>
				<div>
                    <img src="{% static 'images/rightform2.png'%}"/>
                    <input type="text" name="mobile" id="companyMobile" placeholder="联系电话"/>
                </div>
				<div>
                    <img src="{% static 'images/rightform3.png'%}"/>
                    <input type="text" name="course_name" id="companyAddress" placeholder="课程名" maxlength="50" />
                </div>
                <p class="error company-tips" id="jsCompanyTips"></p>
				<input class="btn" type="text" id="jsStayBtn" value="立即咨询 >" />
            {% csrf_token %}
            </form>

{% block custom_js %}
    <script>
    $(function(){
        $('#jsStayBtn').on('click', function(){
            $.ajax({
                cache: false,
                type: "POST",
                url:"{% url "org:add_ask" %}",
                data:$('#jsStayForm').serialize(),
                async: true,
                success: function(data) {
                    if(data.status == 'success'){
                        $('#jsStayForm')[0].reset();
                        alert("提交成功")
                    }else if(data.status == 'fail'){
                        $('#jsCompanyTips').html(data.msg)
                    }
                },
            });
        });
    })

</script>
{% endblock %}
后台逻辑
class AddUserAskView(View):
    """
    #  需要把 UserAskForm 引进来
    #  from .forms import UserAskForm
    # from django.http import HttpResponse
    # 通过 HttpResponse 可以指明返回的数据类型

    用户添加咨询
    """
    def post(self, request):
        userask_form = UserAskForm(request.POST)

        if userask_form.is_valid():
            user_ask = userask_form.save(commit=True)
            return HttpResponse('{"status": "success"}', content_type='application/json')
        else:
            return HttpResponse('{"status": "fail", "msg": "添加出错"}', content_type='application/json')
C:\Users\hlg\PycharmProjects\MxOnline\apps\organization\forms.py
# _*_ coding: utf-8 _*_

import re
from django import forms

from operation.models import UserAsk


# class UserAskForm(forms.Form):
#     name = forms.CharField(required=True, min_length=2, max_length=20)
#     phone = forms.CharField(required=True, min_length=11, max_length=11)
#     course_name = forms.CharField(required=True, min_length=5, max_length=50)


class UserAskForm(forms.ModelForm):

    class Meta:
        model = UserAsk
        fields = ['name', 'mobile', 'course_name']

    def clean_mobile(self):
        """
        验证手机号码是否合法
        """
        mobile = self.cleaned_data['mobile']
        REGEX_MOBILE = "^1[358]\d{9}$|^147\d{8}$|^176\d{8}$"
        p = re.compile(REGEX_MOBILE)
        if p.match(mobile):
            return mobile
        else:
            raise forms.ValidationError(u"手机号码非法", code = "mobile_invalid")



























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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值