zoukankan      html  css  js  c++  java
  • 初学Django

    命令行创建Django工程

    django-admin.py startproject HelloWorld   

    helloworld 是工程名

    最新版的 Django 请使用 django-admin 命令:

    django-admin startproject HelloWorld

    创建完成后我们可以查看下项目的目录结构:

    $ cd HelloWorld/
    $ tree
    .
    |-- HelloWorld
    |   |-- __init__.py
    |   |-- settings.py     -------->这里是设置
    |   |-- urls.py     --------> 这里配置URL  例如:url(r'^detail-(d+).html/',views.detail),  一定要加逗号!逗号!逗号!。(d+)这个是正则表达式表示匹配所有数字
    | `-- wsgi.py `-- manage.py
    • HelloWorld: 项目的容器。
    • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
    • HelloWorld/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
    • HelloWorld/settings.py: 该 Django 项目的设置/配置。
    • HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
    • HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

    命令行创建Django APP

    python manage.py startapp my_app

    my_app 是APP的名称

    --------------------------------------------------------------------------------------------------------------------------------

    导入url:   from django.conf.urls import url

    导入render():from django.shortcuts import render 用于将数据传送给设定好的html并展现给用户 例如 return render(request,'xxx.html',{'k1':v1}) 这里是给html页面返回了一个字典

    导入HttpResponse:from django.http import HttpResponse 用于给用户页面返回数据 例如 return HttpResponse(‘ok’)


    模板语言 :
    假如item 是个字典
    item = {‘K1’:'V1',‘K2’:'V2'}
    要循环拿到v1的话 通过索引来去 和变成语言不同的是 模板语言是通过点来取得数据
    例如:v1 = item.k1
    for循环
    {% for i in item %}

    { %endfor% }
    -----------------------------------------------------------------------------------------------

    1、同过正则表达式匹配数字返回给调用函数:
    url(r'^detail-(d+).html/',views.detail),
    2、通过正则分组返回给调用函数并指定将某个值返回给函数的指定形参:
    如下意思为 将匹配到的第一个数字传给detail的nid形参,匹配到的第二个数次传给detail的第二pid形参注
    注意 :加逗号 P是大写

    url(r'^detail-(?P<nid>d+)-(?P<pid>d+).html/',views.detail),

      ps:
    函数如果写成:

    def detail(request,*args,**kwargs):
          pass
    那么第一个正则的传参都会被*args接收
    第二个正则会被**kwargs以字典的方式接收
    函数这么写就不管前面传来多少值都能照单全收


    ------------------------------------------------------------------------------------------------------
    name:
    对URL路由进行命名 ***** 以后可以根据此名称生成自己想要的URL *****
    路由中设置name
    url(r'^index/',views.index,name='i1'),
    url(r'^yun/(d+)/(d+)/',views.index,name='i2'),
    url(r'^buy/(?P<nid>d+)/(?P<pid>d+)',views.index,name='i3'),
    ------------------------------------------------------------
    函数中:
    from django.urls import reverse 
    def index(request,*args,**kwargs):
     
     URL1 = reverse('i1')                  #相当于index/
      url2 = reverse('i2',args=(1,2,))          #相当于yun/1/2
      url3 = reverse('i3',kwargs= {'nid':1,'pid':'3'}) #相当于 #buy/1/3

    模板语言中:  
    例如xxx.html
      {% url 'i1' % }            
    #相当于index/
      { % url 'i2' 1 2 % }              #相当于yun/1/2
      { % url 'i3' nid=1 pid=3 % }      #相当于 #buy/1/3


  • 相关阅读:
    uboot移植步骤详解
    使用busybox制作根文件系统(rootfs)
    DULG uboot解决问题的文档
    uboot的环境变量
    ASP.NET状态管理 APPlication,Session,Cookie和ViewStat用法
    WCF事务
    WCF中流的处理
    C#操作配置文件
    WCF实例模式和对象生命周期
    WCF中实例模式(InstanceContextMode)与会话模式(SessionMode)
  • 原文地址:https://www.cnblogs.com/topzhao/p/9271511.html
Copyright © 2011-2022 走看看