原创 17115871000 嘿Python 2022-04-16 21:35
收录于话题
#django1
#web框架1
#python入门19
#pythonWeb1
嘿Python
Python保姆级教程 只讲干货,不讲废话 0基础小白的福利 包教包会,不收费 不会的随时可以私聊我
19篇原创内容
公众号
1.建议配置及顺序
1.sqlite3 version>=3.8.3(如果使用mysql,可以不装。源码安装,不要用yum/pip安装)
2.Python version>=3.7
3.pip安装django3(pip install django==3)
2.pip设置源
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple/
pip config set install.trusted-host mirrors.aliyun.com
3.创建项目
在任意目录执行django-admin startproject 项目名称
例如:django-admin startproject mydjango
3.1项目目录
项目创建完成后会生成一个manage.py 及 与项目同名的目录
同名目录
- __pycache__ # 缓存
- __init__.py #一个空文件,它告诉Python这个目录应该被看做一个Python包
- settings # 项目配置文件
- url # URL对应关系(路由)
- wsgi # 遵循WSIG规范,uwsgi + nginx
- manage.py # 一个命令行工具,可以使你用多种方式对Django项目进行交互
3.2 配置文件
settings.py配置文件
urls.py配置路由
3.2.1 setting.py文件
如果需要公开访问注意设置为:ALLOWED_HOSTS = ['*']
配置数据库为:DATABASES项(见下面3.2.1.1)
3.2.1.1 配置数据库
#在setting.py原来默认的sqlite
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
#如果要用mysql,就修改成下面这样
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test', #你的数据库名称
'USER': 'root', #你的数据库用户名
'PASSWORD': '19941028', #你的数据库密码
'HOST': '', #你的数据库主机,留空默认为localhost
'PORT': '3306', #你的数据库端口
}}
#由于mysql默认引擎为MySQLdb,在__init__.py文件中添加下面代码
#在python3中须替换为pymysql,可在主配置文件(和项目同名的文件下,不是app配置文件)中增加如下代码
import pymysql
pymysql.install_as_MySQLdb()
#如果找不到pymysql板块,则通过pip install pymysql进行安装
3.2.2 urls.py文件
urlpatterns = [
path(正则表达式, views视图函数,参数,别名),
]
参数说明:
1、一个正则表达式字符串
2、一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
3、可选的要传递给视图函数的默认参数(字典形式)
4、一个可选的name参数(别名)
4.创建应用(app)
python manage.py startapp 应用名
例如:python manage.py startapp myobj
4.1应用目录
myobj #应用目录
│ admin.py #对应应用后台管理配置文件。
│ apps.py #对应应用的配置文件。
│ models.py #数据模块,数据库设计就在此文件中设计。后面重点讲解
│ tests.py #自动化测试模块,可在里面编写测试脚本自动化测试
│ views.py #视图文件,用来执行响应代码的。你在浏览器所见所得都是它处理的
│ __init__.py
│
├─migrations #数据迁移、移植文目录,记录数据库操作记录,内容自动生成。
│ │ __init__.py
5.注册应用
在项目目录下的项目同名文件夹下的settings.py配置文件里的INSTALLED_APPS选项里
注册应用 申明blog这个文件夹是一个APP应用
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'刚创建的应用名',
]
6.创建第一个hello world页面
首先,打开应用目录下的views.py文件,在里面输入:
from django.http import HttpResponse
def hello(request):
return HttpResponse('Hello,world')
再打开项目同名目录下的urls.py文件:
在文件里添加两行代码:
from django.contrib import admin
from django.urls import path
from 应用名 import views
urlpatterns = [
path('admin/', admin.site.urls),
path('index', views.hello),
]
7.启动
python3 manage.py runserver 0.0.0.0:8000
8.访问页面:
浏览器输入 127.0.0.1:8000
9.创建后台的超级用户
python3 manage.py createsuperuser
10.使用模板
1,创建模板与模板配置
在 settings.py 中有一个 TEMPLATES 变量
1. BACKEND : 指定模板的引擎
2. DIRS : 指定保存模板的目录
'DIRS': [os.path.join(BASE_DIR, 'templates')], # 改为这个
3. APP_DIRS : 是否要在应用中搜索模板本
4. OPTIONS : 有关模板的选项们
2,修改配置
修改settings.py文件,设置TEMPLATES的DIRS值为
'DIRS': [os.path.join(BASE_DIR, 'templates')]
3, Python控制器中
from django.shortcuts import render
return render(request,'模板的名称,无目录名称,因为在setting中设置了默认目录templates')
4. 前端文件
在manage.py同级目录创建templates目录,然后写html文件
{{}}用变量
11.使用模型model
1.在manage.py同级目录创建templates目录执行django-admin startapp TestModel
2.TestModel/models.py中写具体类
例如:
from django.db import models
class Test(models.Model):
name = models.CharField(max_length=20)
3.在settings.py中找到INSTALLED_APPS这一项在最后添加
'TestModel',
4.命令行执行
4.1python manage.py makemigrations TestModel # 让 Django 知道我们在我们的模型有一些变更
4.2python manage.py migrate TestModel # 创建表结构
5.在控制器中调用model类
from TestModel.models import Test