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

yipeiwu_com5年前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中尝试多线程编程的一个简明例子

Python中尝试多线程编程的一个简明例子

综述     多线程是程序设计中的一个重要方面,尤其是在服务器Deamon程序方面。无论何种系统,线程调度的开销都比传统的进程要快得多。   Py...

详解Python正则表达式re模块

正则是处理字符串最常用的方法,我们编码中到处可见正则的身影。 正则大同小异,python 中的正则跟其他语言相比略有差异: 1、替换字符串时,替换的字符串可以是一个函数 2、split...

对python字典过滤条件的实例详解

如下所示: d = { 'a': '0.0000', 'b': '1.2' } d_tmp = dict((key, value) for key, value in d...

对Python _取log的几种方式小结

1. 使用.logfile 方法 #!/usr/bin/env python import pexpect import sys host="146.11.85.xxx" user=...

Python StringIO模块实现在内存缓冲区中读写数据

模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中。 此类中的大部分函数都与对文件的操作方法类似。 例: 复制代码 代码如下: #coding=gbk  ...