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")



























猜你喜欢

转载自blog.csdn.net/huanglianggu/article/details/80726255
7-7