美文网首页
Django学习1

Django学习1

作者: shaopson | 来源:发表于2017-09-11 22:36 被阅读0次

    查看Django版本

    $ python -m django --version
    

    创建项目

    $ django-admin startproject mysite
    

    项目目录:

    mysite/
        manage.py
        mysite/
            __init__.py
            settings.py
            urls.py
            wsgi.py
    
    • 最外层mysite/: 根目录只是项目容器,名字与django无关,可随意更改
    • manage.py: 命令行与Django进行交互
    • 里面的mysite/: 项目的实际Python包,名字不能随便更改,涉及相关Python包导入的名字
    • __init__.py: 空文件,用于声明其所在的目录为Python包
    • settings.py: Django的项目配置文件
    • urls.py: Django项目的url声明
    • wsgi.py: 项目服务入口

    开启Django开发服务器

    $ python manage.py runserver [ip] [port]
    

    默认参数 ip: 127.0.0 port: 8000

    在你修改Django项目代码后,该开发服务器一般会自动加载,不需要重新启动来使代码生效,但是,有些操作(如添加文件)需要手动重启开发服务器

    创建应用

    $ pythin manage.py startapp appname
    

    这将创建appname应用,及目录appname/

    appname/
        __init__.py
        admin.py
        apps.py
        models.py
        tests.py
        views.py
        migrations/
            __init__.py
    

    编写视图

    编辑appname/views.py

    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse("hello,world")
    

    一个函数就是一个视图。要调用视图函数,需要将视图映射到一个url。
    在当前应用appname/下新建一个urls.py文件,写入:

    from django.cong.urls import url
    from . import views
    
    urlpatterns = [
        url(r'^$',views.index,name='index'),
    ]
    

    将项目的mysite/urls.py文件包含应用的appname/urls.py文件。编辑项目的urls.py文件:

    from django.conf.urls import include,url
    from django.contrib import admin
    
    urlpatterns = [
        url(r'^admin/',admin.site.urls),
        url(r'^appname/',include('appname.urls',namespace='appname')),
    ] 
    

    include()函数可以引用其他地方的URL模块

    include()函数的正则表达式不具有$(结束符串匹配字符),而是尾部斜线/。每当Django遇到时include(),它会将与该点匹配的任何部分删除,并将剩余的字符串发送到包含的URL模块进行进一步处理。
    正则表达式不搜索GET,POST的参数或域名。
    正则表达式在第一次加载url模块时被编译。

    url()有四个参数,2个必须:regex view;2个可选:kwargs name

    • regex: 正则表达式
    • view: 当Django匹配到正则表达式时调用的视图函数。该视图函数的第一个参数为一个HttpRequest对象,其他参数来自正则表达式捕获的参数(位置参数或关键字参数)。
    • name: url声明
    • kwargs: 略。

    相关文章

      网友评论

          本文标题:Django学习1

          本文链接:https://www.haomeiwen.com/subject/lecqsxtx.html