zoukankan      html  css  js  c++  java
  • 04 Django 视图与网址-urls.py

    Django中网址是写在 urls.py 文件中,用正则表达式对应 views.py 中的一个函数(或者generic类),我们用一个项目来演示。

    一、首先,新建一个项目(project)

    参见03

    二、新建一个应用(app)

    参见03

    完成之后的框架如图:

    三、参数设置

    1、把我们新定义的app加到settings.py中的INSTALL_APPS

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'MyDjango',
    ]

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

     

    2、配置模板路径

    TEMPLATES = [
                    {
                        'BACKEND': 'django.template.backends.django.DjangoTemplates',
                        'DIRS': [os.path.join(BASE_DIR, 'templates')], #主要是这一部分
                        'APP_DIRS': True,
                        'OPTIONS': {
                            'context_processors': [
                                'django.template.context_processors.debug',
                                'django.template.context_processors.request',
                                'django.contrib.auth.context_processors.auth',
                                'django.contrib.messages.context_processors.messages',
                            ],
                        },
                    },
                ]

     

    3、配置静态文件目录

    STATICFILES_DIRS = (
                os.path.join(BASE_DIR, 'static'),
            )

    4、定义视图函数(访问页面时的内容)

    把views.py打开,修改其中的源代码

    #coding='uft-8'
    from django.shortcuts import render
    from django.http import HttpResponse
    # Create your views here.
    
    def index(request):
        return HttpResponse('Hello,World!')

    第一行是声明编码为utf-8, 因为我们在代码中用到了中文,如果不声明就报错.

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

    我们定义了一个index()函数,第一个参数必须是 request,与网页发来的请求有关,request 变量里面包含getpost的内容,用户浏览器,系统等信息在里面(后面会讲,先了解一下就可以)。

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

    5、定义视图函数相关的URL(路由规则)

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

    from django.conf.urls import url
    from django.contrib import admin
    from MyApp import views
    
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^$',views.index) #new
    ]

     

    6、其他

    ①因目前暂时用不到csrf,为避免报错,需要在settings中,middlerware下# 注释 csrf

    在终端上运行 pythsettings中on manage.py runserver,我们就能看到如下的界面

     

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

    python manage.py runserver 0.0.0.0:8000
     
    监听机器上所有ip 8000端口,访问时用电脑的ip代替 127.0.0.1
  • 相关阅读:
    今天上传公司服务器出现的.net framework版本错误问题
    浮动后父容器高度自适应
    asp net 编程问题 实现下一篇 和上一篇效果
    注意:"AspNetPager”的控件“AspNetPager1”必须放在具有 runat=server 的窗体标记内
    SqlDbHelper备份,做项目时方便应用(目前不太全,把自己项目中的逐渐转移过来)
    域名状态,域名查询看是否被注册
    关于403 由于扩展配置问题而无法提供您请求的页面的问题
    让qq图标在自己的网站上显示方法
    Tomcat基于虚拟路径的发布和web.xml配置
    Tomcat虚拟目录配置方法及原理
  • 原文地址:https://www.cnblogs.com/jasonli-01/p/6672948.html
Copyright © 2011-2022 走看看