Python Django(自写Views)

来源:互联网 发布:中债资信 知乎 编辑:程序博客网 时间:2024/06/06 01:32

基本的上篇博客已经介绍了,这篇我们来绕点远路。自己写views以及数据库操作。
还是在上一个NBA项目的基础上,新建player模块。
1.Ctrl+Alt+R ==》startapp players
2.二话不说,就来新建模型
models.py

from django.db import modelsfrom team.models import teamclass player(models.Model):    class Meta:        verbose_name="player"        verbose_name_plural="players"    p_name=models.CharField("球员名字",max_length=100,null=True)    p_champion=models.CharField("是否得过冠军",max_length=20)    p_birth=models.DateField("出生日期")    p_nation=models.CharField("国籍",max_length=30)3.去views里面,借助modelform这个库自动生成formfrom django.shortcuts import renderfrom django import formsfrom players import modelsdef register(request):    pform=player_form()    return render(request,"form.html",{"form":pform})class player_form(forms.ModelForm):    class Meta:        model=models.player        fields=['p_name','p_champion','p_birth','p_nation','p_team']    4.去主目录的setting里面,加上installed_app,上文可看到我们建立了一个form.html的网页文件,放在了项目下的tem文件夹下,也需要在setting中,加上此文件的目录,告诉系统,我们的template文件所在地。    ![这里写图片描述](http://img.blog.csdn.net/20170718231546322?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMTQ4MTQ5NzE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

设置完这个之后,如果在register方法前面能看到一个H的小图标,链接到form.html文件的话,那就说明配置没错。
5.连接数据库
==》makemigrations players
==》migrate players
这里写图片描述
6.配置主url文件
这里写图片描述
由图可以看出,我们一定是在players模块中新建了一个urls.py文件来管理我们的路由,

from django.conf.urls import urlfrom django.contrib import adminfrom players import viewsurlpatterns = [    url(r'^register$', views.register),]这个时候启动服务器,可以看到如下图:

这里写图片描述
但是可以看到,有很多显示方式并不是我们想到的结果。
先来修改team object显示的问题,去team 模块里,重写str方法即可。

class team(models.Model):def __str__(self):    return self.t_name刷新下就可以看到:

这里写图片描述

原创粉丝点击