django学习路程-1

django从入门到入坑(一)

当入坑python后,逐步开始了解python的web框架,由于django框架的大而全的特性,于是选择了此框架并开始学习。

  1. django的安装
    选择的python3.7版本,加上django2.2框架。(建议不采用比较新的版本)
    直接使用pip install安装django时,往往是安装的最新版本,建议进行降级。

    pip install django==2.2
    
  2. django创建新项目

     (1)命令行创建新项目
     	将cmd定位到你想要保存的位置,输入命令创建新项目,注意命名的时候不要采用django或test等关键词,容易产生不必要的麻烦。
    
    django-admin startproject mysite
    

    (2)pycharm中创建新项目
    在这里插入图片描述
    此处注意勾选inherit global site-packages,选择global变量,这样会寻找你已经安装的固定版本。如果不选择,pycharm会在后台默默的给你安装最新版本。

  3. 新项目的介绍
    全新项目框架大致目录如下:

    mysite/
        manage.py
        mysite/
            __init__.py
            settings.py
            urls.py
            wsgi.py
    

    各文件和目录解释:

  • 外层的mysite/目录与Django无关,只是你项目的容器,可以任意重命名。

  • manage.py:一个命令行工具,用于与Django进行不同方式的交互脚本,非常重要!

  • 内层的mysite/目录是真正的项目文件包裹目录,它的名字是你引用内部文件的包名,例如:mysite.urls。

  • mysite/init.py:一个定义包的空文件。

  • mysite/settings.py:项目的主配置文件,非常重要!

  • mysite/urls.py:路由文件,所有的任务都是从这里开始分配,相当于Django驱动站点的内容表格,非常重要!

  • mysite/wsgi.py:一个基于WSGI的web服务器进入点,提供底层的网络通信功能,通常不用关心。

  • 启动服务器
    此处开始的是本地服务器,直接挂载于127.0.0.1,默认是8080端口,但由于我的8080端口被apache占用,所以改用其他端口。

    python manege.py runserver 2333
    

    然后通过浏览器进入127.0.0.1:2333,会发现一个好看的页面。

  • 创建第一个app
    在 Django 中,每一个应用(app)都是一个 Python 包,并且遵循着相同的约定。Django 自带一个工具,可以帮你生成应用的基础目录结构。

    app应用与project项目的区别:

     一个app实现某个功能,比如博客、公共档案数据库或者简单的投票系统;
     一个project是配置文件和多个app的集合,这些app组合成整个站点;
     一个project可以包含多个app;
     一个app可以属于多个project!
    

    app的存放位置可以是任何地点,但是通常都将它们放在与manage.py脚本同级的目录下,这样方便导入文件。
    进入mysite项目根目录,确保与manage.py文件处于同一级,输入下述命令:

    python manage.py startapp polls
    

    polls的目录结构:

    polls/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py
    
  • 编写第一个视图
    打开mysite/polls/views.py,编写第一个视图:

    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse("Hello, world. You're at the polls index.")
    

    编写好view之后,需要编写urlconf,也就是路由路径,在django框架中只更改mysite/polls/urls.py:

    from django.urls import path
    
    from . import views
    
    urlpatterns = [
        path('', views.index, name='index'),
    ]
    

    接下来,在项目的主urls.py文件中添加urlpattern条目,指向我们刚才建立的polls这个app独有的urls文件,这里需要导入include模块:

    from django.contrib import admin
    from django.urls import include, path
    
    urlpatterns = [
        path('polls/', include('polls.urls')),
        path('admin/', admin.site.urls),
    ]
    

    最后打开127.0.0.1:2333/polls/,此处可以看到新的页面,会在网页中看到一句话:“Hello, world. You’re at the polls index.”

    include语法相当于多级路由,它把接收到的url地址去除与此项匹配的部分,将剩下的字符串传递给下一级路由urlconf进行判断。
    include的背后是一种即插即用的思想。项目根路由不关心具体app的路由策略,只管往指定的二级路由转发,实现了应用解耦。app所属的二级路由可以根据自己的需要随意编写,不会和其它的app路由发生冲突。app目录可以放置在任何位置,而不用修改路由。这是软件设计里很常见的一种模式。
    建议:除了admin路由外,尽量给每个app设计自己独立的二级路由。

  • 数据库的导入
    打开mysite/settings.py配置文件,这是整个Django项目的设置中心。Django默认使用SQLite数据库,因为Python源生支持SQLite数据库,所以你无须安装任何程序,就可以直接使用它。当然,如果你是在创建一个实际的项目,可以使用类似PostgreSQL的数据库,避免以后数据库迁移的相关问题。

    #修改mysite/settings.py中的DATABASES字典
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }
    

    如果你想使用其他的数据库,请先安装相应的数据库操作模块,并将settings文件中DATABASES位置的’default’的键值进行相应的修改,用于连接你的数据库。其中:

  • ENGINE(引擎):可以是django.db.backends.sqlite3、django.db.backends.postgresql、django.db.backends.mysql、django.db.backends.oracle,当然其它的也行。

  • NAME(名称):类似Mysql数据库管理系统中用于保存项目内容的数据库的名字。如果你使用的是默认的SQLite,那么数据库将作为一个文件将存放在你的本地机器内,此时的NAME应该是这个文件的完整绝对路径包括文件名,默认值os.path.join(BASE_DIR, ’db.sqlite3’),将把该文件储存在你的项目目录下。

让我们期待下一篇博客,望各位指正不对的部分。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值