下图很好解析了django的运行流程
下面是一个简单的Django例子
url.py(添加url,调用getform方法)
urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^form/$', getform,name='go_form') ]views.py
def getform(request): all_messages = UserMessage.objects.filter(name='说说')#选取表格字段name=说说的一条数据 if all_messages: message = all_messages[0]#传递到return的第三个参数中,template用value={{ message.字段名 }}进行绑定 #提交表单(request是前端post过来的信息) if request.method == "POST": #获取前端填写的name值,没有则为空 name = request.POST.get('name','') message = request.POST.get('message', '') email = request.POST.get('email', '') address = request.POST.get('address', '') #实例化model类(ORM把表单当成对象操作)把获取到的值赋值给表单对象下的字段 user_message = UserMessage() user_message.name = name user_message.message = message user_message.address = address user_message.email = email user_message.object_id = "hellowoed" user_message.save() #第二个参数是需要返回template的名称,第三个参数是上面获取的数据 return render(request,'message_form.html',{ "message":message })models.py(生成数据表对象ORM思想)
上面的views.py中直接实例化UserMessage用类对象操作字段的增删改查
class UserMessage(models.Model): #通过model类生产表格 object_id = models.CharField(max_length=50,default="",primary_key=True)#主键 name = models.CharField(max_length=20,null=True,blank=True,default="",verbose_name=u"用户名")#verbose_name字段注释 u是Unicode编码,null=True,blank=True,指明该字段可以为空 email = models.EmailField(verbose_name=u"邮箱") address = models.CharField(max_length=100,verbose_name=u"联系地址") message = models.CharField(max_length=500,verbose_name=u"留言信息") class Meta: #除了字段外的一切信息,如表名,排序等元数据 verbose_name = u"用户留言信息" verbose_name_plural = verbose_nameHTML(其中一个例子)
<label> <span>邮箱 :</span> <input id="email" type="email" value="{{ message.email }}" name="email" placeholder="请输入邮箱地址"/> <div class="error-msg"></div> </label>友情提示:setting中需要配置好你的template路径和静态文件路径,还有数据库连接参数,还有APP
