python--Django学习过程备忘

1.原理

1589777036-2760-fs1oSv4dOWAwC5yW.png

2.创建项目

命令行输入:

django-admin startproject xxxx
image.png

目录结构如图

3.运行项目

命令行输入:

python manage.py runserver

浏览器中打开网址即可

4.setting文件配置

①将语言环境设置成中文

LANGUAGE_CODE = 'zh-Hans'

②将数据库改成mysql(对象关系映射(Object Relational Mapping,简称 ORM )无法操作到数据库级别,只能操作到数据表,所以要先自己建库)

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'factory',
        'USER':'root',
        'PASSWORD':'123456',
        'HOST':'127.0.0.1',
        'PORT':'3306',
    }
}

在项目根目录下中的init.py文件中添加代码:

import pymysql
pymysql.install_as_MySQLdb()

这时候再打开项目会报错,需要在数据库中建factory数据库,并将Django架构自带的应用的数据库迁移到库里(方法见5)
③创建tamplate文件夹后要在这里声明

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],#这一句如果没有会报错:django.template.exceptions.TemplateDoesNotExist: seach.html
        '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',
            ],
        },
    },
]

5.将INSTALLED_APPS中应用的数据库迁移到库里

(Django架构自带的)

python manage.py makemigrations  #创建目录和迁移文件
python manage.py migrate               #迁移数据库,在自己的库里创建表格

(自建应用 app1)

python manage.py makemigrations app1 #创建目录和迁移文件
python manage.py migrate  app1             #迁移数据库,在自己的库里创建表格

6.创建后台超级管理员

python manage.py createsuperuser --username=admin --email=954979953@qq.com

创建完成后在数据库的auth_user表中可以看到创建的用户名

7.查看后台管理界面

http://127.0.0.1:8000/admin/

image.png

若显示不正常,https://blog.csdn.net/qq_34919833/article/details/108041315

7.1设置其他主机可以用ip+端口访问

在setting.py中设置

ALLOWED_HOSTS = ['192.168.0.106','127.0.0.1']

必须使用0.0.0.0启动

 python manage.py runserver 0.0.0.0:8000

image.png

在pycharm中打开https://blog.csdn.net/qq_45701131/article/details/105850257

8.创建应用

python manage.py startapp app1
image.png

结构如图
记得在setting.py中注册

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app1'
]

9.生成当前项目依赖清单request-ments.txt

根目录运行:

pip freeze >requirements.txt

当项目移到别处部署时,重建项目依赖:

pip install -r requirements.txt

10.模型操作

https://www.runoob.com/django/django-model.html

11.视图使用

1.在项目下的urls.py中指定应用下的urls.py,实现应用和项目的解耦。具体如下:

项目urls.py:

path('product/', include('product_md.urls')),  
  #指定127.0.0.1:8000/product/xxx的路径都由具体应用的urls.py指定

应用(product)下urls.py

from django.urls import path
from erweima import views   #引入视图文件

urlpatterns = [
    path('p1/', views.runoob), 

]

12.模板

通过url中的接口对应view中的具体函数,函数中指定要返回的内容(html页面以及参数)

Django 模板标签

变量
模板语法:
view:{"HTML变量名" : "views变量名"}
HTML:{{变量名}}
HelloWorld/HelloWorld/views.py 文件代码:

from django.shortcuts import render

def runoob(request):
  views_name = "第一个页面"
  return  render(request,"runoob.html", {"name":views_name})

templates 中的 runoob.html :

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title><p>{{ name }}</p></title>
</head>
<body>
<p>{{ name }}</p>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容