龙空技术网

django入门实践案例

简单印象 580

前言:

此刻姐妹们对“django从入门到实践”可能比较关心,你们都需要分析一些“django从入门到实践”的相关资讯。那么小编在网摘上汇集了一些关于“django从入门到实践””的相关文章,希望兄弟们能喜欢,大家一起来学习一下吧!

本文提供一个django入门的简单案例,案例使用的是mysql数据库,读者需要注意修改解压后mydjango/mydjango/settings.py文件里关于mysql的配置信息。对这个案例,做如下简单的核心要点说明:

启用django的web服务时,为防止80端口被其他服务占用,可以指定端口,命令是(这里指定8082端口):python manage.py runserver 8082

案例中创建了两个app,django创建app的命令是:python manage.py startapp appname

案例中,两个app下都新建了urls.py文件,也是起到路由作用,同 mydjango/mydjango/urls.py 的作用

mydjango/mydjango/urls.py 中使用

url(r'^appdemo/', include('appdemo.urls',namespace='appdemo')),url(r'^appdemo2/', include('appdemo2.urls',namespace='appdemo2')),

这样就能将请求路由到两个app下的urls.py,注意这里用到的include

在两个app下,都创建了templates目录,并且在各自的templates目录下,创建了与app名称相同的一层文件夹,然后把html模板页放在了这个文件夹下,在views.py中,如果要渲染模板,那么模板路径就要加上这一层文件夹的名称,如:

def index(request):return render(request,'appdemo/index.html',{'hello':'Hello appdemo'})

这里就用到的是appdemo/index.html。为什么要这么做?其实要解决的就是,如果在每个app下的templates下一级目录下,都有个index.html模板页(即:templates/index.html),那么无论在哪个app的views层渲染index.html,django都默认渲染你在mydjango/mydjango/settings.py文件里INSTALLED_APPS下,你新添加的第一个app的templates目录下的index.html

在每个app下的models.py下配置数据库字段等信息(见:mydjango/appdemo/models.py),创建完以后可以依次执行下面两条命令:

python manage.py makemigrationspython manage.py migrate

执行后,即将表结构创建(或修改)。可以通过执行python manage.py sqlmigrate 查看你刚才的操作锁执行的真实sql

如果创建表时,没有指定主键,那么django会默认执行自增主键字段,名称为:id,见mydjango/appdemo/migrations/0001_initial.py

在app下的admin.py里引入你新建的model(appdemo里是Publisher),那么在django的admin后台,就会自动多一个model的数据管理,可以在admin.py里,指定数据列表要显示哪几列,mydjango/appdemo/admin.py的代码,在django的admin后台,显示效果如下:

站点管理

数据列表

案例下载:

标签: #django从入门到实践