python新手学django2.0,

  python新手学django2.0,

  学习菜鸟教程的Django教程,链接如下:

  安装:

  pip安装Django

  如果是pip 1.4,请使用:

  pip安装https://www.djangoproject.com/download/1.11a1/tarball/

  或者克隆代码:

  git克隆https://github.com/django/django.git

  创建项目:

  django-admin . py start project hello world

  在项目中创建应用程序:

  django-admin.py startapp测试模型

  启动服务器方法:

  python manager . py runserver 0 . 0 . 0 . 0:8000

  访问方法:浏览器输入

  本地主机:8000/

  Django采用mvc结构,在项目根目录下创建templates目录,修改主项目下的settings.py(见#修改位置一节):

  .模板=[

  {

  后端: django . template . backends . django . django templates ,

  Dirs: [base _ dir/templates ,],#修改位置

   APP_DIRS :对,

  选项:{

  上下文处理者:[

   django . template . context _ processors . debug ,

   django . template . context _ processors . request ,

   django . contrib . auth . context _ processors . auth ,

   django . contrib . messages . context _ processors . messages ,

  ],

  },

  },

  ]

  .

  这样,html文件就可以放在模板里,由render渲染。

  映射规则:

  修改主项目下的urls.py文件,其中浏览器访问的路径映射到特定的类进行处理,比如:

  urlpatterns=[

  url(r^hello$,view.hello),

  ]

  这里view是py文件,hello是它的函数之一,用来处理对*的响应。*.*: 8000/hello格式。其主要功能是将模板文件渲染为响应值,例如:

  从django.shortcuts导入渲染

  def hello(请求):

  上下文={}

  语境[hello]=Hello World!

  返回render(请求, hello.html ,上下文)

  Hello.html是放在模板中的文件,上下文中的内容作为变量传递给hello.html。

  在模板文件中,可以使用变量和控制逻辑。

  变量的使用方法是{{ xxx }}。例如,上面传递的参数将在hello.html中这样使用:{{ hello}}

  控制逻辑的格式是

  {% if xxx % } xxx {% endif %}

  或者

  {% for %} xxx {% endfor%}

  等待

  注释的格式是

  {# xxx #}

  您还可以继承:

  在base.html中设置继承部分

  {% block name %} xxx {% endblock %}

  然后子类sub.html声明:

  {% extends base.html %}

  然后修改继承的段。

  {% block name %} xxx {%endblock %}

  您还可以包括:

  {% includexxx.html %}

  上面的hello处理可以区分GET处理和POST处理:

  if request.method==GET :

  做某事()

  elif request.method==POST :

  do_something_else()

  您可以通过参数字典直接获取参数,例如:

  请求。发布[q]

  这里‘q’是参数,用它作为索引值得到相应的参数。

  例如,表单提交的处理如下:

  #接收发布请求数据

  定义搜索_发布(请求):

  ctx={}

  如有要求。帖子:

  ctx[rlt]=请求。发布[q]

  return render(request, post.html ,ctx)

  在响应函数的过程中,还可以与数据库进行交互。

  首先配置数据库:(也可以配置成mysql)

  数据库={

  默认:{

  引擎: django.db.backends.sqlite3 ,

   NAME: os.path.join(BASE_DIR, db.sqlite3 ),

  用户:雅各布,

  密码: 123456 ,

  主机:本地主机,

  端口: 3306 ,

  }

  }

  为数据库创建一个应用程序,并将应用程序名称添加到settings.py的INSTALLED_APPS项中

  然后你可以定义这个表,比如:

  # models.py

  从django.db导入模型

  类别测试(模型。型号):

  名称=型号。CharField(max_length=20)

  然后让数据库创建这个表:(不要丢失以下命令之一)

  Python manage.py migrate #创建一个表结构

  让Django知道我们已经在模型中做了一些改变

  Python manage.py迁移测试模型#创建表结构

  操纵数据库的内容,你可以通过上面的类来使用它,比如生成一个条目:

  测试=测试(名称=vvv )

  test.save()

  删除条目:

  Test.objects.filter(id=1)。删除()

  更新条目:

  Test.objects.filter(id=1)。更新(name=Google )

  全部更新:

  Test.objects.all()。更新(name=all )

  写完数据库操作的代码,记得修改数据库app目录下的admin.py文件:

  来自django.contrib导入管理

  从TestModel.models导入测试

  #在此注册您的模特。

  管理员网站注册(测试)

  这里的管理员,其实是框架提供的一个管理页面,可以很方便的把数据库信息展示出来。

  再详细介绍下管理。

  首先激活这个管理工具:修改映射规则文件urls.py,在统一资源定位器模式中添加条目:

  url(r^admin/,管理网站网址),

  创建一个超级用户:

  python manage.py创建超级用户

  这样,可以在浏览器中通过本地主机:8000/管理/进行访问了。

  可以在页面中,看到之前创建的相关数据库,并且操纵它们的内容。

  同时,还可以自定义数据库展示的表单方式,比如定义一个接触数据库:

  班级联系(模型。型号):

  名称=型号CharField(max_length=200)

  年龄=模特。整数域(默认值=0)

  邮件=模特。电子邮件字段()

  def __unicode__(self):

  返回自己的名字

  在管理。巴拉圭中注册的时候,这样自定义表单:

  #在此注册您的模特。

  类联系管理员(管理员.ModelAdmin):

  fields=(姓名,电子邮件)

  管理员网站注册(联系人,联系人管理)

  还可以做列表样式,内联其它数据表,增加搜索栏等,示例如下:

  #在此注册您的模特。

  类标记内联(管理TabularInline):

  型号=标签

  类联系管理员(管理员.ModelAdmin):

  list_display=(姓名,年龄,电子邮件)#列表

  search_fields=(name ,)

  inlines=[TagInline] # Inline

  字段集=(

  [主,{

  字段:(姓名,电子邮件),

  }],

  [高级,{

  类:(折叠,),

  字段:(年龄,),

  }]

  )

  管理员网站注册(联系人,联系人管理)

  完整代码工程参见:

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: