使用pycharm开发web——django2.1.5(二)创建一个app并做一些配置
这里我学习的呢是刘江老师的站,主要原因在于他这个版本新,还比较细节
网址先留一手,约等于在引用http://www.liujiangblog.com/
开始正题:
1.在pycharm界面终端命令行里面
(点这个)
2.输入命令
python manage.py startapp polls
这里的polls是刘江老师教程中创建的投票系统的名字,你可以起任何名字
3.观察你左边的目录你会发现多了一个新的文件夹,里面还有好多py文件
4.编写视图
这里的视图对应文件views.py,编辑,代码如下:
polls/views.py
from django.http import HttpResponse def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
这里你懂的引号里面那些话随便说
配置该app的url
polls/urls.py
from django.urls import path from . import views urlpatterns = [
path('', views.index, name='index'),
]
这里请记住,urlpatterns 是固定的名字,别写错了否则又是一阵找
然后配置项目url
pysite/urls.py
这里的pysite是我的项目所在处,请根据自己的情况修改
from django.contrib import admin
from django.urls import include, path urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
5.启动查看127.0.0.1:8000/polls
这时候就可以看见了。
django可以连接各种数据库,默认的好像是叫作sqllite,神奇的在于,我先学了点python后学了点java,直到大概了解了一些java全栈知识的时候,回过头才把这个地方看懂,这里将数据库连接配置写入setting.py之中,与maven的jar包干的事情差不多那么,最后预计做的深一点就是增删改查了,只是在配置mysql和django相连的时候有个坑,(刚爬出来)
首先你要在setting中修改这些
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
# } #pysite/setting.py #Database
#https://doc.djangoproject.com/en/1.11/ref/settings/#database import pymysql #这里的两行很重要
pymysql.install_as_MySQLdb() DATABASES = {
'default':{
'ENGINE':'django.db.backends.mysql',
'NAME':'myexp',
'HOST':'localhost',
'USER':'root',
'PASSWORD':'*******',
'PORT':'',
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",}
} }
注释的部分是默认的,因为我这里要连接本地的mysql
这里几个属性,驱动,数据库名,数据库主机地址,数据库用户名,密码,端口(mysql默认3306),最后那个过几天研究研究->->
密码我藏了一下下,仔细想想就是个人隐私。我那个数据库叫myexp。
正常连接完之后,可以试着启动django,本来是直接迁移,我阴差阳错的发现两个会报同样的错,感觉这样会安全一点
第一个大坑:由于django对于5.0还是3.0以上版本好像有个什么支持的问题,点完之后疯狂提示
这个:
django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11
这就很蛇皮,结果问题是因为在base.py
这个文件中有一句: (我注释的那个)
把这个注释了就行了,,然后进入坑道第二层
这时候你运行的话会出现:
'str' object has no attribute 'decode'
这个错误。
根据报错找到相应文件D:\pysite\mysite\venv\Lib\site-packages\django\db\backends\mysql\operations.py
(上面是我的项目中的)
146行有句话,看完之后感觉很气,一直说字符串没有decode方法,问题则出在。。。应该用encode而不是decode,解决方法也是将它直接改了
def last_executed_query(self, cursor, sql, params):
# With MySQLdb, cursor objects have an (undocumented) "_executed"
# attribute where the exact query sent to the database is saved.
# See MySQLdb/cursors.py in the source distribution.
query = getattr(cursor, '_executed', None)
if query is not None:
query = query.encode(errors='replace')
return query
嗯,这样之后就ok的
然后就是回到终端进行你的数据库迁移!!!
python manage.py migrate
好的,进入你的mysql
发现多了好几个新的表,那么,你的任务基本完成,数据库算是连上了嘿。
使用pycharm开发web——django2.1.5(二)创建一个app并做一些配置的更多相关文章
- 使用pycharm开发web——django2.1.5(四)视图和模板相关
刘老师说这块很重要..... 应该是很重要,大概看了一下,这里面关于views中函数作用,大概看来可能就是相应请求,传入数据和跳转,基本功能上貌似这些框架都差不多吧(其实我并没用过3个框架以上.... ...
- 使用pycharm开发web——django2.1.5(一)入坑尝试第一步,基本搭建
首先,接触python的人应该都会用pip 来安装需要的包吧(------>>>>)默认 在运行中使用python -m django --version来检查自己的djang ...
- 使用pycharm开发web——django2.1.5(五)表单和通用视图
看了刘江老师教程这么多天,卧槽,我才发现他也曾跻身于行伍之间,interesting 刘老师这波讲解很到位,告诉你如何编写单例视图的时候忽然告诉你,其实不用这么麻烦,我们有通用视图,那些总是要做相似的 ...
- 使用pycharm开发web——django2.1.5(三)创建models并进入交互界面shell做一些简单操作
这里model可以认为是数据对象本身 相当于在写java代码时候model目录下创建的实体类,models.py 中可以包含多个实体类,感觉这个操作挺骚的 下面是polls app里面的models, ...
- Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏
Unity 2D游戏开发高速入门第1章创建一个简单的2D游戏 即使是如今,非常多初学游戏开发的同学.在谈到Unity的时候.依旧会觉得Unity仅仅能用于制作3D游戏的. 实际上.Unity在2013 ...
- SSM框架开发web项目系列(二) MyBatis真正的力量
前言 上篇SSM框架环境搭建篇,演示了我们进行web开发必不可少的一些配置和准备工作,如果这方面还有疑问的地方,可以先参考上一篇“SSM框架开发web项目系列(一) 环境搭建篇”.本文主要介绍MyBa ...
- 翻译二--创建一个Web测试计划
这里主要是翻译jmeter官方文档第4章:创建一个基本的测试计划来测试一个网站.你将创建5个用户来发送请求给两个页面,同时,你将告诉用户去执行两次测试.所以,请求的总和是5(users)*2(requ ...
- 4.菜鸟教你一步一步开发 web service 之 axis 客户端创建
转自:https://blog.csdn.net/shfqbluestone/article/details/37723517 在上个教程中我们创建了一个 axis 服务端的 web service ...
- 从开发到部署,使用django创建一个简单可用的个人博客
本文参考于: 简书-Django搭建简易博客教程:http://www.jianshu.com/p/d15188a74104 自强学堂-Django基础教程:http://www.ziqiangxue ...
随机推荐
- CF788C The Great Mixing BFS+思维
这个模型十分巧妙啊,好题好题~ code: #include <bits/stdc++.h> #define N 3006 #define setIO(s) freopen(s" ...
- [转]vc中调用其他应用程序的方法(函数) winexec,shellexecute ,createprocess
三个SDK函数: WinExec,ShellExecute ,CreateProcess可以实现调用其他程序的要求,其中以WinExec最为简单,ShellExecute比WinExec灵活一些,Cr ...
- Python—“helloworld”
接触一门计算机新语言,第一件事就是要准备好一个编译器用来打代码. 网上很多环境搭建的方法,具体参照https://www.runoob.com/python/python-install.html 由 ...
- 绕过本机DNS缓存
--转载注明来源 http://www.cnblogs.com/sysnap/ 0x1 背景 往HOST文件添加127.0.0.1 www.baidu.com, 可以劫持百度的域名.病毒经常篡改HO ...
- Linux生成key
[root@centos7 ~]# ssh-keygen -b [ -t rsa #这里的-b 2048 是密钥加密的长度,最好设大点 Generating public/private rsa ke ...
- tomcat单机多实例
catalina.home指向公用信息的位置,就是bin和lib的父目录. catalina.base指向每个Tomcat目录私有信息的位置,就是conf.logs.temp.webapps和work ...
- fastadmin 后台管理中,权限设置,不同管理员,显示不同的数据
1.https://doc.fastadmin.net/docs/controller.html
- SSH交互式脚本StrictHostKeyChecking选项 benchmode=yes
SSH 公钥检查是一个重要的安全机制,可以防范中间人劫持等黑客攻击.但是在特定情况下,严格的 SSH 公钥检查会破坏一些依赖 SSH 协议的自动化任务,就需要一种手段能够绕过 SSH 的公钥检查. 什 ...
- java工厂模式的测试
/** * 工厂模式的测试 * <p> * 工厂方法模式 * 工厂方法模式是简单工厂模式的进一步抽象化和推广,工厂方法模式里不再只由一个工厂类决定那一个产品类应当被实例化,这个决定被交给抽 ...
- 模糊C均值聚类-FCM算法
FCM(fuzzy c-means) 模糊c均值聚类融合了模糊理论的精髓.相较于k-means的硬聚类,模糊c提供了更加灵活的聚类结果.因为大部分情况下,数据集中的对象不能划分成为明显分离的簇,指派一 ...