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