python3.6+django2.0+mysql搭建网站过程详解

yipeiwu_com6年前Python基础

之前用过python2.7版本,改用3.6版本发现很多语法发生了变化。

在templates里新建一个html文件,命名为index.html作为要测试的界面,

新建一个应用,Tools-》Run manage.py Task 输入startapp+应用名称

然后对urls进行配置,配置如下:

from django.conf.urls import url
from . import views
 
urlpatterns = [
  url(r'^index/', views.index),
]

在视图文件里views.py里进行定义:

from django.shortcuts import render
 
# Create your views here.
def index(request):
  return render(request,'index.html')

在项目的同名的文件下里的urls.Py进行映射:

urlpatterns = [
  url('admin/', admin.site.urls),
  url(r'^std_web/', include('std_web.urls', namespace='std_web')),
]

这里的std_web是创建的应用名称,意思是映射std_web里的urls,跳转到std_web的urls.py里。

这里要注意:要在settings.py里对新建的项目进行配置

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

python2.7使用的MySQLdb连接数据库,还没有供3.X版本使用,在python3.6版本使用的是pymysql进行连接,使用命令安装,或者在pycharm里安装

在settings里对连接数据库部分进行配置,这部分于2.7相同,不在赘述。

要注意要在__init__.py文件中添加以下代码:

#coding=utf-8
import pymysql
pymysql.install_as_MySQLdb()

数据库迁移代码2.7与3.6版本不同,

3.6版本如下:python manage.py makemigrations

python manage.py migrate

在2.7版本下迁移数据库的同时会让你创建一个超级管理员账户,用以管理后台,3.6版本没有这个功能,要自己进行创建超级管理员用户

命令:python manage.py createsuperuser

现在显示的界面是英文版,改成中文版:

在settings.py文件开头添加

from django.utils.translation import ugettext_lazy as _

在将settings.py文件里下面的代码做更改:

LANGUAGE_CODE = 'zh-hans'
LANGUAGES = [
  ('en', _('English')),
  ('zh-hans', _('Simplified Chinese')),
  ('zh-hant', _('Traditional Chinese')),
]

再次运行就会发现界面是我们熟悉的中文界面了。

python3.X版本相较于python2.7版本语法方面做了很多改动。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python实现计算资源图标crc值的方法

本文实例讲述了python实现计算资源图标crc值的方法,分享给大家供大家参考。具体方法如下: 实现该功能的关键在于解析资源信息,找到icon的数据,然后计算这些数据的crc 具体实现代...

详解Django框架中用context来解析模板的方法

你需要一段context来解析模板。 一般情况下,这是一个 django.template.Context 的实例,不过在Django中还可以用一个特殊的子类, django.templ...

运动检测ViBe算法python实现代码

运动检测ViBe算法python实现代码

运动物体检测一般分为背景建模和运动物体分析两步。即构建不包含运动物体的背景模型。然后将新的视频帧和背景模型对比,找出其中的运动物体。目前比较好的背景建模算法有两种:1)文章(Zivkov...

python 单线程和异步协程工作方式解析

在python3.4之后新增了asyncio模块,可以帮我们检测IO(只能是网络IO【HTTP连接就是网络IO操作】),实现应用程序级别的切换(异步IO)。注意:asyncio只能发tc...

如何利用Boost.Python实现Python C/C++混合编程详解

前言 学习中如果碰到问题,参考官网例子: D:\boost_1_61_0\libs\python\test 参考:Boost.Python 中英文文档。 利用Boost.Python...