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流量管理终止相应残留进程[图片]都可以解决