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