安装Django

it2022-05-26  90

Django安装步骤(pycharm)

1.创建Django项目

db没有显示红色x说明创建成功了

2.安装插件

界面左下角有一个Terminal,点开就是一个命令行控制台,可以输入命令

查看Django版本信息,可以看出pycharm创建Django安装的是2.1.1的版本

2.1.安装Django1.11.12版本

目前支持比较好的为1.11.12,所以可以安装1.11.12(安装过程中会自动卸载掉2.1.1版本)

2.2安装Pymysql插件

接下来安装pymysql驱动包(用于连接数据库)

(venv) D:\Django\db>pip install pymysql Collecting pymysql Using cached https://files.pythonhosted.org/packages/a7/7d/682c4a7da195a678047c8f1c51bb7682aaedee1d ca7547883c3993ca9282/PyMySQL-0.9.2-py2.py3-none-any.whl Collecting cryptography (from pymysql) Using cached https://files.pythonhosted.org/packages/f1/01/a144ec664d3f9ae5837bd72c4d11bdd2d8d40331 8898e4092457e8af9272/cryptography-2.3.1-cp36-cp36m-win_amd64.whl Collecting cffi!=1.11.3,>=1.7 (from cryptography->pymysql) Using cached https://files.pythonhosted.org/packages/2f/85/a9184548ad4261916d08a50d9e272bf6f93c54f3 735878fbfc9335efd94b/cffi-1.11.5-cp36-cp36m-win_amd64.whl Collecting idna>=2.1 (from cryptography->pymysql) Using cached https://files.pythonhosted.org/packages/4b/2a/0276479a4b3caeb8a8c1af2f8e4355746a97fab0 5a372e4a2c6a6b876165/idna-2.7-py2.py3-none-any.whl Collecting six>=1.4.1 (from cryptography->pymysql) Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43 ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl Collecting asn1crypto>=0.21.0 (from cryptography->pymysql) Using cached https://files.pythonhosted.org/packages/ea/cd/35485615f45f30a510576f1a56d1e0a7ad7bd8ab 5ed7cdc600ef7cd06222/asn1crypto-0.24.0-py2.py3-none-any.whl Collecting pycparser (from cffi!=1.11.3,>=1.7->cryptography->pymysql) Using cached https://files.pythonhosted.org/packages/8c/2d/aad7f16146f4197a11f8e91fb81df177adcc2073 d36a17b1491fd09df6ed/pycparser-2.18.tar.gz Installing collected packages: pycparser, cffi, idna, six, asn1crypto, cryptography, pymysql Running setup.py install for pycparser ... done Successfully installed asn1crypto-0.24.0 cffi-1.11.5 cryptography-2.3.1 idna-2.7 pycparser-2.18 pymys ql-0.9.2 six-1.11.0

查看版本信息

3.配置Django基本流程

3.1.导入pymysql包

在Django的db项目名称下的__init__.py下添加

import pymysql #导入pymysql包,里面的所有功能便可以使用了,不需要单独一个个导入pymysql下的功能模块了 pymysql.install_as_MySQLdb() #当成mysqldb使用,没有这个就会使用pymysql的方式,这个主要是便于之前2.x版本用习惯了mysqldb的人使用(3.x版本后无法使用mysqldb)

3.2创建app

Terminal控制台敲命令

python manage.py startapp db_operate

创建完成后,会在左边多出一个目录db_operate(自己创建时的命名),里面就是用来做Django各种操作的

3.3注册APP

进入settings.py,找到一下配置,添加'db_opeate',用于注册创建的app

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

4.修改urls.py文件

from django.contrib import admin # from django.urls import path Django2.1.1版本的导入方式 from django.conf.urls import url urlpatterns = [ # path('admin/', admin.site.urls), Django2.1.1版本的导入方式 url('admin/', admin.site.urls), ]

4.配置静态网页

4.1创建目录static

这个static目录里面用于存放子目录如css、js、img这些内容

4.2.配置static添加信息

在settings.py中配置static静态页面信息,作用是便于Django项目运行是调用该目录下的文件

4.3.static下添加内容

4.4.创建index.html网页文件

这个文件需要在templates下创建,这个目录在创建项目的时候自动创建的,项目运行时,会找到这个目录下的网页文件进行识别

5.配置数据库

5.1连接数据库

#settings.py文件 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'demo', 'USER':'root', 'PASSWORD':'root' } }

5.2定义Movies类(也就是列名、字典键)

from django.db import models class Movies(models.Model): name=models.CharField(max_length=64) category=models.CharField(max_length=64) date=models.CharField(max_length=64) class Meta: db_table="t_movies"

5.3创建表

makemigrations detail migrate detail

5.4创建函数方法(也就是进行增删改查操作)

from django.shortcuts import render from detail.models import Movies def add(request): if request.method=="GET": return render(request, 'addmovies.html') elif request.method=="POST": movies=Movies() movies.name=request.POST.get("name") movies.category=request.POST.get("category") movies.date=request.POST.get("date") movies.save() # return select(request) return redirect(to= reverse('movielist')) #重定向方式 def select(request): movies=Movies.objects.all() #字典 return render(request,'movielist.html',context={'movies':movies})

5.5设置路由(调用函数至网页文件)

from django.contrib import admin from django.conf.urls import url from detail import views urlpatterns = [ url('admin/', admin.site.urls), url('addmovies/',views.add), url('movielist/',views.select,name='movielist') #重定向方式 #url('movielist/',views.select) ]

5.6网页文件

添加记录的页面

<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/html"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <form action="http://127.0.0.1:8000/addmovies/" method="POST"> 请输入电影名称:<input type="text" name="name"><br> 请输入电影类型:<input type="text" name="category"><br> 请输入时间:<input type="text" name="date"><br> <input type="submit" value="提交"> </form> </body> </html>

查询记录的页面

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>movie list</title> </head> <body> <table border="1" cellspacing="0"> <tr> <th>name</th> <th>category</th> <th>date</th> </tr> {% for movie in movies %} <tr> <td>{{ movie.name }}</td> <td>{{ movie.category }}</td> <td>{{ movie.date }}</td> </tr> {% endfor %} </table> </body> </html>

5.7查看效果

添加页面

提交后跳转到电影列表页面

查看数据库

转载于:https://www.cnblogs.com/endmoon/p/9621394.html


最新回复(0)