Django基础

Django下载安装

 安装

  安装正式版本
   cmd中输入pip install django
  安装特定版本
  安装最新的开发版本
   针对想体验最新和最好的特性的爱好者们
   步骤如下:
   1.安装Git,可以从shell运行git help测试是否安装
   2.输入git clone https://github.com/django/django.git
   3.确保python解释器可以加在django代码,关于这个,可以查看编写你的第一个 Django 补丁 | Django 文档 | Django (djangoproject.com)学习
   4.输入py -m pip install -e django\

 ·查看版本号

  cmd中输入pip show django

· 检查是否可用

  cmd中输入python,在下方继续输入python代码:import django,继续输入print(django.get_version())
0

创建项目

 django-admin startproject 项目名称
0
  • 最外层的 mysite/ 根目录是项目的容器, 根目录名称对 Django 没有影响,可以将它重命名为任何名称。
  • manage.py: 让你用各种方式管理 Django 项目的命令行工具。
  • 里面的 mysite/ 目录包含项目,是纯 Python 包。引用内部文件时,需要用到Python包名。(如 mysite.urls).
  • mysite/__init__.py:一个空文件,告诉 Python 这个目录应该被认为是一个 Python 包。
  • mysite/settings.py:Django 项目的配置文件。
  • mysite/urls.py:Django 项目的 URL 声明,就像你网站的“目录”。
  • mysite/asgi.py:作为项目运行在 ASGI 兼容的 Web 服务器上的入口。
  • mysite/wsgi.py:作为项目运行在 WSGI 兼容的Web服务器上的入口。

 项目目录

crm
    manage.py            【管理当前项目】
    crm
        -settings.py     【部分项目设置】
        -wsgi.py
        -asgi.py         【启动项目接收浏览器发送的请求】
        -urls.py         【对应关系 url->函数】

 验证是否创建成功

  在项目根目录下输入:py manage.py runserver
0
  可以在浏览器输入http://127.0.0.1:8000/进行查看,会出现以下界面
0
  当然,端口也不一定要是8000,你可以输入:py manage.py runserver 端口号来更改服务器的监听端口。但默认情况下,runserver命令会将服务器的监听端口设置为8000
  如果想修改服务器监听的ip,在端口之前输入新的,如:py manage.py runserver 192.168.XX.XX:8000

 app概念

mytest
    -app1.用户的管理      【表结构、HTML模板、css、图片】
    -app2.其他管理        【表结构、HTML模板、css、图片】
    -app3.API请求处理     【表结构、HTML模板、css、图片】
    -mytest
        -settings.py
        -urls.py
        -wsgi.py
    -manage.py
mytest
    -app1.用户的管理      【表结构、HTML模板、css、图片】
        -views.py        【视图函数,接收请求处理业务逻辑】
        -models.py       【创建数据库表结构,操作表中数据】
        -migrations
        -test.py         【单元测试】
        -apps.py         【配置】
        -admin.py        【django内置后台管理,可用可不用】
    -mytest
        -settings.py
        -urls.py
        -wsgi.py
    -manage.py

 创建应用

  应用可以存放在任何Python路径中定义的路径。
  如在manage.py所在的目录下创建应用:
   py manage.py startapp blogs
   
  项目和应用的区别
   应用是转做某件事的网络应用程序,如博客系统、或是公共记录的数据库等。项目则是一个网站使用的配置和应用的集合,项目中可以包含很多应用。应用也可以被很多项目使用。

 编写视图

  在blogs/views.py中输入:
from django.http import HttpResponse
def index(request):
    return HttpResponse("这是博客界面。")
  如果想看到效果,需要在blogs目录中新建一个urls.py文件
  并在其中输入以下代码
from django.urls import path
from . import views
urlpatterns = [
    path('', views.index, name='index'),
]
  之后再把myproj目录下的urls.py中代码进行修改
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('blogs/', include('blogs.urls')),
    path('admin/', admin.site.urls),
]
  include()使用:当包括其他url模式时,应该使用include(),admin.site.urls是唯一的例外
  做完这一切,在cmd中manage.py所属文件夹内输入:py manage.py runserver
  用浏览器访问http://localhost:8000/polls/,就能看到views.py中输出的内容
  注意:如果这里界面显示Page not found,首先检查访问的地址是不是错写为http://localhost:8000/。

 Path()参数

  route:匹配URL的准则,类似正则表达式,当Django响应请求时,它会从urlpatterns的第一项开始按顺序匹配,直至找到匹配的项
  view:当Django找到匹配的准则后,会调用特定的视图函数,并传入一个HttpRequest对象作为第一个函数,被捕获的参数以关键字参数形式传入
  kwargs:关键字参数可以作为一个字典传递给目标视图函数
  name:为你的URL取名,方便在Django的任意位置唯一饮引用

settings.py设置

 数据库配置

  配置文件:myproj/settings.py
  这个配置文件默认使用SQLite数据库。
  如果想使用其他数据库,需要安装合适的database bindings,然后修改设置文件中DATABASES’default项目中的某些键值:
  ENGINE:可选值:django.db.backends.sqlite3、django.db.backends.postgresql、django.db.backends.mysql、django.db.backends.oracle
  NAME:数据库的名称
  如果不使用SQLite,必须添加额外的设置,如user、password、host等,如下是mysql数据库的配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 连接数据库驱动的名称
        'NAME': 'blog',  # 数据库名称
        'HOST': '127.0.0.1',  # 数据库地址
        'USER': 'root',  # 数据库用户名
        'PASSWORD': '123456',  # 数据库密码
        'PORT': 12340,  # 端口
    }
}
  如果使用SQLite外的数据库,要先确认已经创建了数据库,还要确保数据库用户中提供myproj/settings.py具有创建数据库的权限

 INSTALLED_APPS设置项

  这里包括了项目中启用的所有应用,应用能在多个项目中使用,也可以打包并发布应用来使用
INSTALLED_APPS = [
    'django.contrib.admin',  # 管理员站点
    'django.contrib.auth',  # 认证授权系统
    'django.contrib.contenttypes',  # 内容类型框架
    'django.contrib.sessions',  # 会话框架
    'django.contrib.messages',  # 消息框架
    'django.contrib.staticfiles',  # 管理静态文件的框架
    'article.apps.ArticleConfig',  # 后面是自己创建的app
    'mdeditor',
]
posted @ 2022-12-01 18:54  乌醍  阅读(32)  评论(0编辑  收藏  举报