• python例子-开始一个Django项目


    一、创建项目:

    django-admin startproject mysite

    二、到该目录下,创建app:

    python manage.py startapp learn # learn 是一个app的名称

    并将app添加到mysite/mysite/settings.py 中:

    INSTALLED_APPS = (
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
     
        'learn',
    )

    三、定义处理请求的函数:

    在文件views.py中定义:

    #coding:utf-8
    from django.http import HttpResponse
     
    def index(request):
        return HttpResponse(u"欢迎光临 Mysite项目")

    注意编码.

    四、关联函数和请求:

    在mysite/mysite/urls.py 中修改:

    from django.conf.urls import include, url
    from django.contrib import admin
    
    urlpatterns = [
        url(r'^$','learn.views.index',name='home'),
        url(r'^admin/', include(admin.site.urls)), #这一行系统默认
    ]

    注意:url中是用正则表达式匹配URL的。name的值为处理URL的函数名,string说明了函数的路径.

    五、获取请求中的参数:(url='http://localhost:8000/?a=123&b=bat')

    from django.shortcuts import render
    from django.http import HttpResponse
     
    def add(request):        #此为处理请求的函数
        a = request.GET['a']
        b = request.GET['b']
        c = int(a)+int(b)
        return HttpResponse(str(c))

    六、URL中正则的灵活运用:

    eg:网站采用 http://host:80/calc/3/4/这样的方式

    更改处理函数:views.py

    def add2(request,a,b):
        c = int(a) + int(b)
        return HttpResponse(str(c))

    更改正则表达式:urls.py

    url(r'^calc/(d+)/(d+)/$', 'calc.views.add2', name='add2'),

     七、前端页面模版应用:

    在app的目录下创建templates文件夹,在该文件夹下创建模版文件:home.html (Django项目默认会寻找该目录下的模版文件)

    [cos@localhost templates]$ ls
    ad.html  base.html  bottom.html  home.html  nav.html  tongji.html  # 这些模版是项目引用的.
    [cos@localhost templates]$ cat home.html
    {% extends 'base.html' %}
    
    {% block title %}welcome home html{% endblock %}            #覆盖默认内容,否则就显示继承自base.html中的默认内容.
    
    {% block content %}
    {% include 'ad.html' %}                           #引用ad.html模版.
    this is index page,welcome!
    {% endblock %}

    更改处理请求的函数,向客户端返回该模版文件:(当然内容是经过渲染的)

    app/views.py

    from django.shortcuts import render
     
    def home(request):
        return render(request, 'home.html')

     八、启动项目:

    [cos@localhost mysite]$ python manage.py runserver 0.0.0.0:8000
    Performing system checks...
    
    System check identified no issues (0 silenced).
    October 20, 2015 - 14:31:54
    Django version 1.8.5, using settings 'zqxt_tmpl.settings'
    Starting development server at http://0.0.0.0:8000/
    Quit the server with CONTROL-C.
    [20/Oct/2015 14:31:54] "GET / HTTP/1.1" 500 126680
    [20/Oct/2015 14:32:07] "GET / HTTP/1.1" 500 129469
    [20/Oct/2015 14:33:37] "GET / HTTP/1.1" 200 280
  • 相关阅读:
    DbContext 和ObjectContext两者的区别
    程序员的四大境界
    使用Entity Framework 4进行代码优先开发 转
    转 .Net 中的序列化与反序列化
    关于asp使用CreateObject("Excel.Application")出现无法创建ActiveX对象的错误
    内存泄漏的方法
    用Entities Framework实现代码优先和依赖注入所遇到的问题总结
    SQL去掉前面的0
    关于SVN限制填写备注和自动更新代码到网站的研究
    也许是离开的时候啦。
  • 原文地址:https://www.cnblogs.com/xccnblogs/p/4896531.html
Copyright © 2020-2023  润新知