Django安装和使用

Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站!官方网站:Meet 
Django

一、环境准备(centos7.4):

 
 
  1. # yum install python-django -y //安装django(我装的是djang2.0版本)
  2. # yum install mariadb mariadb-server //安装数据库(5.5版本)
  3. # systemctl enable mariadb.service //开机自启
  4. # systemctl start mariadb.service //启动mysql
  5. # mysql_secure_installation //初始化数据库及密码

后续需要连接数据库,所以要安装mysql驱动: 
因为我使用的是python3.6版本,已经不支持MYSQLdb模块,所以安装pymysql模块:

 
 
  1. # pip install PyMySQL //安装mysql驱动

注:因为django默认只识别MYSQLdb模块,因此安装了pymysql模块后在下面同步数据库步骤前需要改下配置,详情见下面步骤; 
python2.7请安装MySQL-pythonpython3.4请安装python34-mysql

测试模块是否安装成功:

 
 
  1. python2.7/3.4
  2. >>> import MYSQLdb
  3. python3.6
  4. >>> import pymysql

如果没有报错说明模块安装成功。 
如果不安装此模块,后续启动项目连接数据库(mysql)会报错:Error loading MySQLdb module

二、基本命令:

为了方便管理,可以单独创建一个目录,用于存放新项目,cd到新目录中,执行命令项目默认存放在当前目录下。

1、新建一个 django project项目(例如:fxy_blog)

 
 
  1. # mkdir /fxy
  2. # cd /fxy
  3. # django-admin startproject fxy_blog //项目名字只支持下划线和字母

新项目目录结构如下:

 
 
  1. fxy_blog/ //项目名字
  2. ├── fxy_blog //包含项目中实际的Python代码
  3. ├── __init__.py //默认为一个空文件,定义了此目录为一个python包
  4. ├── settings.py //此项目的配置
  5. ├── urls.py //此项目中URL的一些声明
  6. └── wsgi.py //WSGI兼容的Web服务器为此项目提供服务的入口点
  7. └── manage.py //一个命令行实用程序,可让与此Django项目进行交互

注:django-admin是Django的用于管理任务的命令行工具;manage.py会在每个Django项目中自动创建。 manage.pydjango-admin处理的事情差不多,但是也有不同:django-admin and manage.py

2、启动测试 
这时,我们有了一个自己的项目,可以启动测试一下:

 
 
  1. # python manage.py runserver

然后你会看到以下输出:

 
 
  1. Performing system checks...
  2. System check identified no issues (0 silenced).
  3. December 11, 2017 - 09:52:22
  4. Django version 2.0, using settings 'fxy_blog.settings'
  5. Starting development server at http://127.0.0.1:8000/
  6. Quit the server with CONTROL-C.

上面只是允许本机访问,如果允许所有人访问执行:

 
 
  1. # python manage.py runserver 0.0.0.0:8000

监听端口可任意更改。

现在已经运行,在浏览器中输入http://114.215.157.174:8000/会看到恭喜页面,还有一个绿色的小火箭,说明项目开始工作啦!

报错解决:执行启动命令后,浏览器访问可能会报错DisableALLOWED_HOSTS字样(忘记截图了),这时需要修改文件: 
# vim /fxy/fxy_blog/fxy_blog/settings.py 
找到 ALLOWED_HOSTS ,修改为ALLOWED_HOSTS = ['*'] 
然后重新启动项目。

不过有一个项目是仅仅不够的,我们需要有自己的网页~

3、新建一个django app应用程序(例如:web)

 
 
  1. # django-admin startapp web
  2. # python manage.py startapp web

项目和应用程序有什么区别? 
一个应用程序是一个Web应用程序,它执行一些操作,例如Weblog系统,公共记录数据库或简单的应用程序。 项目是特定网站的配置和应用程序的集合。 项目可以包含多个应用程序。 一个应用程序可以在多个项目中。

新应用程序目录结构如下:

 
 
  1. web
  2. ├── admin.py
  3. ├── apps.py
  4. ├── __init__.py
  5. ├── migrations
  6.    └── __init__.py
  7. ├── models.py
  8. ├── tests.py
  9. └── views.py

url.py:urls.py本质上就是一个标准的python文件,这个python文件的作用就是在URL请求和处理该请求的视图函数之间建立一个对应关系,换句话说,它就是一个url请求映射表。参考:Django中关于URL配置文件urls.py的理解

4、编写我们的第一个view 
打开文件web/view.py,然后输入下面的python代码:

 
 
  1. # vim web/views.py
  2. from django.http import HttpResponse
  3. def index(request):
  4. return HttpResponse("Hello, world. You're at the web index.")

要调用这个视图,需要映射到URL,在web目录中创建一个urls.py的文件,web目录结构如下:

 
 
  1. web
  2. ├── admin.py
  3. ├── apps.py
  4. ├── __init__.py
  5. ├── migrations
  6. └── __init__.py
  7. ├── models.py
  8. ├── tests.py
  9. ├── urls.py
  10. └── views.py

编辑web/urls.py文件,添加如下代码:

 
 
  1. # vim web/urls.py
  2. from django.urls import path
  3. from . import views
  4. urlpatterns = [
  5. path('', views.index, name='index'),
  6. ]

下一步是将根URL配置文件指向web.urls模块。 
fxy_blog/urls.py中,为django.urls.include添加一个导入,并在urlpatterns列表中插入一个include(),如下:

 
 
  1. # vim fxy_blog/urls.py
  2. from django.urls import include, path
  3. from django.contrib import admin
  4. urlpatterns = [
  5. path('web/', include('web.urls')),
  6. path('admin/', admin.site.urls),
  7. ]

现在我们已经把index view关联到了URL配置文件中,让我们来验证一下,执行:

 
 
  1. # python manage.py runserver 0.0.0.0:8000

在浏览器中输入http://IP:8000/web/,你会看到 “Hello, world. You’re at the polls index.”字样,证明你成功了!

5、连接数据库

文章开头说过python3.6支持pymysql模块,但是django不识别,需要修改: 
fxy_blog/fxy_blog/__init__.py 
在里面输入以下内容并保存: 
python 
import pymysql 
pymysql.install_as_MySQLdb()

修改数据库连接:

 
 
  1. # vim /fxy/fxy_blog/fxy_blog/settings.py

找到DATABASES字段,修改成:

 
 
  1. DATABASES = {
  2. 'default': {
  3. 'ENGINE': 'django.db.backends.mysql', //连接数据库类型
  4. 'NAME': 'test', //数据库名称
  5. 'USER': 'root', //用户
  6. 'PASSWORD': '123456', //数据库密码
  7. 'HOST': '127.0.0.1', //主机
  8. 'PORT': '3306', //数据库端口号
  9. }
  10. }

然后保存退出

数据库类型可选: django.db.backends.sqlite3django.db.backends.postgresqldjango.db.backends.mysql, ordjango.db.backends.oracle或其他:Database Backend

执行以下命令:

 
 
  1. # python manage.py migrate

如果没有python报错说明没问题~

6、清空数据库

 
 
  1. # python manage.py flush

7、创建超级管理员

 
 
  1. # python manage.py createsuperuser

按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名和密码必填。 
修改用户密码可以用:

 
 
  1. # python manage.py changepassword username

设置好管理员,就可以登录django后台管理页面管理一些用户和组: 
在浏览器输入http://IP:8000/admin/,输入刚才创建的管理员账号和密码登录。

8、导出数据 导入数据

 
 
  1. # python manage.py dumpdata appname > appname.json
  2. # python manage.py loaddata appname.json

9、Django 项目环境终端

 
 
  1. # python manage.py shell

10、数据库命令行

 
 
  1. # python manage.py dbshell

app文件:将新的app加入到 new_project/settings.py #加入新app 
view文件:新建app目录下:learn/views.py #写明需求模块 
url文件:新建项目的子目录下:new_project/urls.py #调用需求模块显示在网页上


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值