django初识并且展示数据库(一)

一.安装并且创建django

pycharm安装就不说了 直接找到pycharm里面interpreter,找到django,选你要的版本安装就ok了。
这边简单陈述一下,anaconda怎么装django,anaconda 打开后激活相应环境,我自己电脑是activate py36.
激活成功后,用Anaconda search -t conda django来找到django的各种版本。找到相应的版本后,复制版本名,然后再输入以下命令anaConda show 版本名 就会跳出来安装方法,复制安装方法安装就完事了。
安装好以后找到anaconda 下django的安装目录,怎么看?打开django的可视化界面,点到你所需要的环境变量,界面下加载的时候会出现anaconda的库安装路径,如图,把这个目录弄到系统环境变量就行了,具体的添加环境变量方法可以再百度,这里不再赘述。
在这里插入图片描述

搭建方法一:
打开conda prompt ,cd你的工作路径,然后输入以下代码,如果你用的是cpython的话也是一样的。用cmd打开即可。
django-admin startproject mysite创建一个django框架。

我们刚才创建了一个名为mysite 的文件夹,现在我们进去,cd mysite

再运行如下命令python manage.py startapp app01 app01是我们随便取得一个程序名。

ok,现在我们的mysite文件夹下就有以下三个文件了。(django在mysite中又创建了一个mysite)
在这里插入图片描述
接下来我们命令行启动django即可python manage.py runserver启动服务器。
打开http://127.0.0.1:8000/,成功!

在这里插入图片描述
搭建方法二:pycharm创建
在这里插入图片描述
并且注意 项目名不能是中文,否则有可能会报错。

下面使用pycharm创建的框架目录
在这里插入图片描述
可以注意到,用命令行创建的话,默认是没有templates文件的,templates是用于存放HTML文件的,用命令行创建的时候,没有templates文件夹,需要你手动创建,并且在setting配置文件夹中写入路径,参考下面三张图。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果在pycharm中想要创建的话直接用pycharm 的命令行创建app

python  manage.py  startapp app02

在这里插入图片描述
用下面图中的方法可以减少两个参数
在这里插入图片描述
直接用以下命令即可

startapp app02

在这里插入图片描述

二.功能分析

下面分析一下文件夹下几个文件的功能
在这里插入图片描述
app02下
migrations 数据库迁移记录相关
models.py orm模型类
views.py 视图函数 存放功能函数

项目名下
settings django项目的配置文件
urls .py 路由关系映射,以键值对的形式存放请求的后缀名和函数的对应关系
wsgi.py 实现了socket 通讯

template 放html文件
manage.py django的入口函数

打开settings文件
在这里插入图片描述
installed_apps代表django默认有哪些应用,如果自己创建了应用,就应该把应用名字,放到这个列表中,django才能识别。

在这里插入图片描述
代表django的中间键,收到请求和发出请求的时候都会经过这些。

三.搭建一个自定义index

在这里插入图片描述
在url.py中引入视图函数

Django 三剑客

HttpResponse

render

redirect

代码演示views视图函数

from django.shortcuts import render,HttpResponse,redirect
import pymysql

# Create your views here.
def index(request):
    return HttpResponse('hello')

def login(request):
    conn = pymysql.connect(
        host = '127.0.0.1',
        port = 3306,
        user = 'root',
        password = '666666',
        db = 'website',
        charset = 'utf8',
        autocommit = True
    )
    cursor = conn.cursor(pymysql.cursors.DictCursor)
    sql = 'select * from library'
    cursor.execute(sql)
    data_list = cursor.fetchall()
    print(data_list)
    return render(request,'library.html', {'datalist':data_list})

def home(request):
    return redirect('http://www.baidu.com')

代码演示urls.py对象函数关系映射

from django.conf.urls import url
from django.contrib import admin
from app01 import views
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/',views.index),
    url(r'^login/',views.login),
    url(r'^home/',views.home)
]

在浏览器中,通过{{dataliist}}双括号的方式即可把获得的字典值取出,在网页中进行for循环分步取得字典内的数据,再对网页的表格进行渲染即可。

今日踩坑

在这里插入图片描述
刚才遇到个坑pycharm有进程残留,点了终止进程后,没有把进程关闭干净,导致代码更新后访问服务器仍旧是未更新的代码,问题是端口被之前的进程占用了,如果下次遇到这种问题可以切换个端口尝试,重启电脑或者打开360流量管理终止相应残留进程[图片]都可以解决
在这里插入图片描述

posted @ 2019-04-11 23:18  不会玩python  阅读(11)  评论(0编辑  收藏  举报