IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Django基础知识 -> 正文阅读

[Python知识库]Django基础知识

目录

创建django项目

manage.py的使用


创建django项目

使用django创建wed项目

切换到要创建django项目的文件夹,打开命令行执行如下命令

#django-admin startproject 项目名称
#这里创建mysite项目
django-admin startproject mysite

这时在这个文件夹下就有一个mysite文件夹

mysite文件夹下面有一个manage.py 和 mysite文件夹

manage.py?是执行django命令要用到的文件

mysite的目录下有如下文件

asgi.py
__init__.py
__pycache__.py
settings.py       #django项目的配置文件
urls.py           #url的配置文件
wsgi.py           #连接apache或 ngix 所用到的配置文件

这里我们现在重点关注settings.py 和 urls.py

settings.py的设置如下

"""
Django settings for mysite project.

Generated by 'django-admin startproject' using Django 3.2.7.

For more information on this file, see
https://docs.djangoproject.com/en/3.2/topics/settings/

For the full list of settings and their values, see
https://docs.djangoproject.com/en/3.2/ref/settings/
"""


from pathlib import Path

# Build paths inside the project like this: BASE_DIR / 'subdir'.

#BASE_DIR 存放项目的根目录
BASE_DIR = Path(__file__).resolve().parent.parent


# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'django-insecure-$_k=33o#0ozs+69_ml^o6x*p0yhjrucyn40&4)4v4vj_5457lq'

# SECURITY WARNING: don't run with debug turned on in production!

#这是django的 debug即调式 当发布网站时将及改为False
DEBUG = True


#允许那些ip访问   *表示所有ip都可以访问
#ALLOWED_HOSTS = ['127.0.0.1']  #只允许127.0.0.1的ip访问
ALLOWED_HOSTS = ["*"]



# Application definition

#这里是app的设置     当创建app时要将app添加到INSTALLED_APPA里面
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    #将添加article
    'article',
]


MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'mysite.urls'

#模板设置
#----------------------------------------------------------------------
#模板文件的设置  默认情况下每一个app文件夹下都没有模板文件这时候可以在app下创建templates文件夹
#在及下面创建html模板文件

TEMPLATES = [
    {
         #BACKEND 定义模板引擎 用于识别模板里面的变量和指令
        'BACKEND': 'django.template.backends.django.DjangoTemplates', 
 
         #DIRS 模板所在的路径
         #join表示将前一个参数和后一个参数拼接
         #路径写成os.path.join(BASE_DIR,'')
        'DIRS': [],
         #如在项目根目录下创建一个templates
         #DIRS:[os.path.join(BASE_DRI,'templates'),] #Django就可以扫描到templates文件


         #APP_DIRS 是否在app里面查找模板文件
        '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',
            ],
        },
    },
]

WSGI_APPLICATION = 'mysite.wsgi.application'


# Database
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases


#数据库的相关设置
#----------------------------------------------------------------------------
#django提供四种数据库引擎
#django.db.backends.sqlite3
#django.db.backends.mysql
#django.db.backends.oracle
#django.db.backends.postgresql

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}
#
#mysql数据库的设置
#设置之前先安装 pymysql 或 mysqlclient
#
#DATABAES={
#     'default':{
#          #ENGINE表示使用哪个数据库引擎
#         'ENGINE':'django.db.backends.mysql',
#           
#          #NAME表示生成的数据库文件名
#         'NAME':'django.db',

#          #表示mysql的用户名
#         'USER':'root'

#         #表示mysql的密码
#         'PASSWORD':'123'

#         #mysql连接本地连接
#         'HOST':'127.0.0.1'

#          #mysql的端口
#          'PORT':'3306'
        
#
                #}

#}
#使用pymysql库时
#要在项目__init__.py 加入如下代码:
#import pymysql
#pymysql.install.MYSQLdb()

# Password validation
# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators

AUTH_PASSWORD_VALIDATORS = [
    {
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
    },
    {
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
    },
]


# Internationalization
# https://docs.djangoproject.com/en/3.2/topics/i18n/

#设置管理页面的文件显示方式
LANGUAGE_CODE = 'en-us'
#LANGAGE_CODE = 'zh-hans' #中文显示


TIME_ZONE = 'UTC'


USE_I18N = True

USE_L10N = True

USE_TZ = True

# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/3.2/howto/static-files/


#资源静态文件的设置
#--------------------------------------------------------------------
资源路由(在访问静态资源的路由设置)
#静态资源的默认配置 默认只能识别项目app下的static文件夹里静态的文件,不能识别app之外的static文件夹,static不能改成其他名称否则django不能识别
STATIC_URL = '/static/'

#资源集合staticfiles_dirs
#可以在django的根目录下创建static的文件夹将静态文件放到其中

#STATICFILES_DIRS =[
#设置根目录下的静态资源(在django 根目录下创建static文件夹)
# os.path.join(BASE_DIR,'static'),
#设置app下的静态资源,(先在创建index app 在app下创建Mydjango存放静态资源文件夹)
# os.path.join(BASE_DIR,'index/Mydjango')
#  ]
#当网址访问 127.0.0.1/static/静态文件就可以访问到

#资源部署
#在服务上部署项目,服务器与项目之间的映射关系,STATIC_ROOT 主要收集整个项目的静态文件的一个文件夹,
#然后该文件夹与服务器之间构建映射关系 DEBUG=Ture 不起作用
#STATIC_ROOT = os.path.join(BASE_DIR,'AllStatic')

#媒体资源设置
#------------------------------------------------------------------------
#如用户的头像,歌曲文件需要媒体文件来存储
#在根目录下创建一个media文件
#媒体路由设置
#MEDIA_URL = '/media/'
#媒体文件的路径BASE_DIR表示根目录,media表示文件
#MEDIA_ROOT = os.path.join(BASE_DIR,'media')


# Default primary key field type
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field

DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'

urls.py文件设置

"""mysite URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/3.2/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path,re_path,include
#from article.views import article_detail,article_list


#url的设置
#---------------------------------------------------------------
urlpatterns = [
    
    #admin是django为提供的管理员界
    #要访问管理员界面要创建管理员(在创建管理员之前先将django数据迁移到数据库面)
    #python3 manage.py makemigrations (将django的数据模型创建成sql语句的py文件)
    #python3 manage.py makemigrate   (将数据同步到服务器)
    #python3 manage.py createsuperuser  (创建管理员,这是有提示要设置管理员的用户名 、邮箱、密码)
    #管理员的页面 127.0.0.1/admin/
    path('admin/', admin.site.urls),
   
   
    #--------------------------------------
    #path('index',views.index)
    #index 表示当浏览器输入127.0.0.1/index/   就调用views.py文件下的index函数,
    #可以在项目文件下创建一个views.py文件 然后定义index函数,在将导入到urls.py中
    #或创建一个app,在app下有views.py文件,可在其下定义index,在导入到urls.py中

    #路由变量
       #字符类型 匹配任何非空字符串,但不含斜杠
       #整数 匹配0和正整数
       #slug 可理解为注释、后缀或附属 如网页的标题是13岁的孩子 其路由地址可为 13-sui-de-hai-zi 
       #uuid 匹配一个uuid格式的对象  必使用须使用“-”且所有字母小写 如075194d3-417e-a8a8-6c931e272f00
       
     #变量的写法
         #<year> 字符串变量 year便来明 等同 <str:year>
         #<int:month> 整形变量  month是变量名
         #<slug:bay>  slug变量 
      #使用
      #  path('article/<int:article_id>',views.index,name='article_detail')
      #  name表示别名
      #  article_id变量 ,可以作为index函数的形参
     #----------------------------------------
     # 路由的另一种使用方法 有时后有多歌app这时后地址很多,只有一个urls设置不方便
     #我们可以在app下面创建一个urls.py文件 
     #保存储
     #在将path('article/<int:article_id>',views.index,name='article_detail')改为
     #path('article/',include("artcle.urls"))
     #include()表示到artcle  app 下找urls文件 将article/和app下的<int:article_id> 组合
     #成article/<int:article_id>

#app下的urls.py
#--------------------------------------------------------------------------------
#app下的urls.py 的内容如下
from django.urls import path
from . import views
          urlpatterns=[
                path("<int:article_id>",views.index,name='article_detail')

                
               
          ]
#------------------------------------------------------------------------------


              


              ]

manage.py的使用

#运行django服务
#python3 manage.py  runserver ip地址:端口
#如
python3 manage.py runserver 127.0.0.1:80

#创建django app
#python3 manage.py startapp app名称
#如
python3 manage.py startapp article

#使用模型创建数据库表
python3 manage.py makemigrations

#将创建的表同步的数据库
python3 manage.py migrate

#创建管理员
python3 manage.py createsuperuser
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:10:10  更:2022-09-13 11:13:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:09:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码