• Diango基础学习


    python环境和Diango提前装好

    1.终端新建一个mysite项目:django-admin startproject mysite(如果 django-admin 不行,请用 django-admin.py)
    mysite
    ├── manage.py
    └── mysite
    ├── __init__.py
    ├── settings.py
    ├── urls.py  地址
    └── wsgi.py  部署服务器时使用
    子目录 mysite 中是一些项目的设置 settings.py 文件,总的urls配置文件 urls.py 以及部署服务器时用到的 wsgi.py 文件,
    __init__.py 是python包的目录结构必须的,与调用有关。

    2.终端新建一个APP,名字是learn:

    cd mysite 

    python manage.py startapp learn # learn 是一个app的名称
    learn/
    ├── __init__.py
    ├── admin.py
    ├── models.py
    ├── tests.py
    └── views.py  视图

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

    修改 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',
    )
    新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件

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

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

    # coding:utf-8

    from django.http import HttpResponse
    def index(request):
        return HttpResponse(u"欢迎光临 自强学堂!")


    第二行引入HttpResponse,它是用来向网页返回内容的,就像Python中的 print 一样,只不过 HttpResponse 是把内容显示到网页上。第一行是声明编码为utf-8, 因为我们在代码中用到了中文,如果不声明就报错.

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

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

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

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

    由于 Django 版本对 urls.py 进行了一些更改:

    Django 1.7.x 及以下的同学可能看到的是这样的:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    from django.conf.urls import patterns, include, url
     
    from django.contrib import admin
    admin.autodiscover()
     
    urlpatterns = patterns('',
        url(r'^$''learn.views.index'),  # new
        # url(r'^blog/', include('blog.urls')),
     
        url(r'^admin/', include(admin.site.urls)),
    )

    Django 1.8.x - Django 2.0 版本的同学,Django 官方鼓励(或说要求)先引入,再使用:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    from django.conf.urls import url
    from django.contrib import admin
    from learn import views as learn_views  # new
     
     
    urlpatterns = [
        url(r'^$', learn_views.index),  # new
        url(r'^admin/', admin.site.urls),
    ]

    Django 2.0 版本的同学,urls.py 有比较大的变化(a)(上面 Django 1.8 的在 2.0 中也可以用,是兼容的)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    from django.contrib import admin
    from django.urls import path
    from learn import views as learn_views  # new
     
     
    urlpatterns = [
        path('', learn_views.index),  # new
        path('admin/', admin.site.urls),
    ]

    以上都修改并保存后,我们来看一下效果!

    6.在终端上运行 python manage.py runserver 我们会看到类似下面的信息:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $ python manage.py runserver
    Performing system checks...
     
    System check identified no issues (0 silenced).
     
    You have 14 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
    Run 'python manage.py migrate' to apply them.
     
    December 14, 2017 - 15:09:47
    Django version 2.0, using settings 'mysite2.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.

    提示:上面有一些数据库相关的提示,但目前我们没有用到,暂时先忽略他们。

    7.我们打开浏览器,访问 http://127.0.0.1:8000/

  • 相关阅读:
    QT5笔记:1.UI文件设计与运行机制
    QStringListModel的使用
    D pid(16916) tid(19140) 14:05:45 EdgeSnapFeature::PostExitSizeMove: WM_TWINVIEW_SHOW_GRIDLINES > off
    QT5笔记:3.手动撸界面和可视化托界面混合
    Qt QString的格式化与QString的拼接
    C# WinForm UDP 发送和接收消息
    关于Convert.ToUInt16(string? value, int fromBase);
    QT5笔记:2.可视化UI设计
    OpenCvSharp 打开rtsp视频并录制mp4文件
    C# List LinQ Lambda 表达式
  • 原文地址:https://www.cnblogs.com/minna/p/10253803.html
Copyright © 2020-2023  润新知