zoukankan      html  css  js  c++  java
  • 1django 视图与网址

    创建一个项目,名字叫mysite

    django-admin startproject mysite(项目名)

    成功后,看到如下样式

    mysite
    ├── manage.py
    └── mysite
        ├── __init__.py
        ├── settings.py
        ├── urls.py
        └── wsgi.py

    我们会发现执行命令后,新建了一个 mysite 目录,其中还有一个 mysite 目录,这个子目录 mysite 中是一些项目的设置 settings.py文件,总的urls配置文件 urls.py 以及部署服务器时用到的 wsgi.py 文件, __init__.py 是python包的目录结构必须的,与调用有关。

    我们到最外层mysite目录下,新建一个应用叫learn

    python manage.py startapp learn

    可以看到mysite中多了一个文件夹learn,django1.9以上的版本还多了一个migration文件夹和apps文件

    把我们新定义的app加到settings.py的install_apps中,加在最后比较好

    这一步是干什么的呢,新建的app如果不加到install_apps中的话,django就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件) ,这个很关键

    访问视图函数(访问页面时的内容)

    我们在learn这个目录中,把views.py打开,修改其中的源码,改成下面的

    #coding:utf8
    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse(u'欢迎光临我的博客园')

    第一行声明编码为utf8,因为我们在代码中用到了中文,如果不声明就会报错

    第二行引入HttpResponse,它是用来想网页返回内容的,就像python中的print一样,只不过HttpResponse把内容显示到网页上

    我们定义了一个index()函数,第一个参数必须是request,与网页发来的请求有关,request变量里包含get和post的内容,用户浏览器,系统等信息在里面

    函数返回了一个HttpResponse对象,可以经过一些处理,最终显示内容到网页上

    那么问题来了,我们访问什么网址才能看到刚才写的这个函数呢?怎么让网址和函数关联起来呢

    定义视图函数相关的URL(网址)(即规定访问什么网址对应什么内容)

    我们打开mysite/mysite/urls.py这个文件,修改其中的代码

    from django.con.urls import url
    from django.contrib import admin
    from learn import views as learn_views
    
    urlpatterns=[
        url(r'^$',learn_views.index),
        url(r'^admin/',admin.site.urls),    
    ]

    以上都修改并保存后,在终端运行python manage.py runserver

    http://127.0.0.1:8000/

    如果是在另一台电脑上访问要用python manage.py ip:port的形式,比如监听所有ip

    python manage.py runserver 0.0.0.0:8000

    监听机器上所有ip 8000端口,访问时用电脑的ip代替127.0.0.1

  • 相关阅读:
    MongDB简单介绍
    Docker的简单介绍
    maven简单介绍
    粗谈Springboot框架,众所周知Springboot是有spring推出的微服务框架,什么是微服务框架呢!
    Springboot打包问题,打包的话是通过
    SpringBoot注解及swagger注解使用及规范
    properties配置
    日志配置
    c++几个面试题
    c++四种强制类型转化的区别
  • 原文地址:https://www.cnblogs.com/z-x-y/p/9660939.html
Copyright © 2011-2022 走看看