一、
   安装 MYSQL环境  出现的问题一下的问题 基于 pycharm 的商业版
在win7下安装了python后,想安装python-mysql,使用pip安装出现如下问题:

pip install MySQL-python

_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or directory error: command '"C:\Users\fnngj\AppData\Local\Programs\Common\Microsoft\Visual C ++ for Python\9.0\VC\Bin\amd64\cl.exe"' failed with exit status 2

但错误提示里缺少C++的相关环境
方法如下:

1.在http://www.lfd.uci.edu/~gohlke/pythonlibs/#mysql-python下载对应的包版本,如果是win7 64位2.7版本的python,就下载

MySQL_python-1.2.5-cp27-none-win_amd64.whl

然后在命令行执行pip install MySQL_python-1.2.5-cp27-none-win_amd64.whl

当然需要在cmd下跳转到下载MySQL_python-1.2.5-cp27-none-win_amd64.whl的目录下

然后就安装成功了MySQL-python

第二部分 安装过程 出错的问题 解决方案 :
https://blog.csdn.net/u012882134/article/details/51934165
 安装环境的步骤 :
 1.cd 到安装的目录下 
 2. 打上所在的目录的硬盘 如(D:)
 3. pip install 后面是下载的名字 
 4. 这时候会出现一个问题 SFrame-2.1-cp27-none-win_amd64.whl is not supported wheel on this platform 的问题 
 5. 第一步 查看自己的python是多少位的 如果是对应的版本 
 6. 第二步 修改 下载的 mysql的名字 如:
           MySQL_python-1.2.5-cp36-none-win_amd64.whl
    我的是 python36 所以对应的是 cp36 只需要修改这个名字 就行 
    其次 如果 不行 可以尝试修改的 64 改成32  一般都是与python 所对应的。

二、
   最后一个问题 也是解决了很长时间的问题 :

1.在我用cmd导入了mysql的模块后 cmd  中有mysql 也是成功的 ,
并且 pycharm 中也是有mysql 的模块包的 在 seting中可以看到 但是 一定注意是但是  
注意 mysql-python 的版本 如果时 1.25  是不支持 python3的解释器的 所以 需要对应的解释器 
最后在django中的    settings 中用tool中的 run manage.py task 就会看到 django 不会报错了
     
     
2.当 配置URL 时候 又出现 模块导入的问题
比如 导入模块时候 一定 层级嵌套 
如:我创建的应用名字是App ,用 import 来导入 就是一个一个文件的嵌套 
import app.message.views  as bv     
//app 是我的应用名 其次是message 然后是views 我想导入的模块
urlpatterns = [
    url(r'^getform/$',bv.getform)
]
3.在URL 配置时候还是出现了css 没有被渲染的问题  这是是static的问题 在settings中配置
     STATICFILES_DIRS = [
    os.path.join(BASE_DIR,'static')
]

在我准备创建数据库中的字段时候 除了一个错误:

mysql-python安装成功后执行run manage.py task.. 出现以下错误信息:
Error fetching command 'collectstatic': You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path.
Command 'collectstatic' skipped

解决方案:
settings.py中加入
STATIC_ROOT = '/static/'
在我添加 models 时候  每一个字段都有对应的类型限制
报错:
 1) Provide a one-off default now (will be set on all existing rows)
 2) Quit, and let me add a default in models.py
 如果是这种 就是默认值的问题 加一个default = “”
 注意:CharField  必须要用 字段的的限制 max_length 的限制
 
三、
   在用pycharm中对于数据存储的问题 以及数据的提出问题 出现了一下问题
raise AppRegistryNotReady("Apps aren't loaded yet.")
解决方案:

1、由于里面的模块不必要的导入问题
2、想mysqldb 的导入 就不需要
还有 当我存储数据出现的问题  :
为什么 我用.save()存储了数据 在mysql 或 navicat 没有显示  这是因为函数没有调用  
这时候想要显示 就得运行到存储的这一步 那怎么运行呢:
1 调试断点 断点必须打在 函数之下  然后给你ip 点击进去 匹配上你的URL的设置:
2 这时候 就会进入到你的前端页面 但是 及得 这时候 得刷新 
3 然后 就可以看到断点可以继续往下调试 一直调试到你的save 的 界面 你就可以去mysql 或者 navicat 刷新就可以看到了

四、 
    在form表单提交时候 会出现forbidden 的错误这时候我们应该在 前端</form>之前加上一个
    {% csrf_token %}
    在form表单中是需要 加上action"/form/"注意这里面的 form 是定义的 一定得加上 两个斜杠
    数据在pycharm中的手动存储的过程

  views中的设置:
        def getform(request):
            user_message = UserMessage()//定义的类在models中的
            user_message.name = 'pengliang' // 点后面的属性都是前端中的name 中的属性
            user_message.message = 'he'
            user_message.address = 'bengbu'
            user_message.object_id = 'hello'
            user_message.save() # 这是django 自带的 存储方式
            return render(request,'message_for_users.html')
    
五、
     在进行后端数据存储的过程 :

存储的id 一定不能重名 切记 已经出现两次了
  其次 出现的这个问题:page not found 请求的错误 :
  注意其中的URL 中的设置 
  urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^form/$',bv.getform)
]
 URL的 中的form的设置 一定要与 前端 的action(后端链接)中所跟的名字相同如
    <form action="/form/"method="post"class="smart-green">

l六、
    删除操作

# _*_ coding:utf-8 _*
from django.shortcuts import render
import MySQLdb
from .models import UserMessage
def getform(request):    
    # all_message = UserMessage.objects.filter(name="",address="")#这样就会取出想要的值
    #     all_message.delete()
    #删除其中的filter中的内容    
    if request.method == "POST":
        name = request.POST.get('name','')
        message = request.POST.get('message','')
        address = request.POST.get('address', '')
        email = request.POST.get('email', '')
        user_message = UserMessage()
        user_message.name = name
        user_message.message = message
        user_message.address = address
        user_message.email= email
        user_message.save() # 这是django 自带的 存储方式
    return render(request,'message_for_users.html')
    
七、 URL中有名字    
    
  urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^form_go/$',bv.getform,name=‘go-form’) //在r中可以随便改名 这不影响 action中的操作
]    
在HTML中的action =“{%URL 'go-form'%}”    
注意URL中^和$ 并且 里面只要加东西 必须要有 /

七、 上传头像会需要安装pillow 的问题:
1、 You are using pip version 9.0.1, however version 10.0.1 is available. 
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

这类的问题的解决方案 是需要安装 另一个 10.0.1 方法如下:
     直接运行命令:python -m pip install --upgrade pip  
在我 用pycharm操作字段的时候出现了一个bug:
    SystemCheckError: System check identified some issues:
ERRORS:
1.auth.User.groups: 
(fields.E304) Reverse accessor for 'User.groups' clashes with reverse accessor for 'UserProfile.groups'.
HINT: Add or change a related_name argument to the definition for 'User.groups' or 'UserProfile.groups'.

auth.User.user_permissions: 
(fields.E304) Reverse accessor for 'User.user_permissions' clashes with reverse accessor for 'UserProfile.user_permissions'.
HINT: Add or change a related_name argument to the definition for 'User.user_permissions' or 'UserProfile.user_permissions'.
users.UserProfile.groups: (fields.E304) Reverse accessor for 'UserProfile.groups' clashes with reverse accessor for 'User.groups'.
HINT: Add or change a related_name argument to the definition for 'UserProfile.groups' or 'User.groups'.
users.UserProfile.user_permissions: 
(fields.E304) Reverse accessor for 'UserProfile.user_permissions' clashes with reverse accessor for 'User.user_permissions'.

    # 解决方案:
因自己重新封装user为UserProfile故在 settings中 添加自己的
AUTH_USER_MODEL = "users.UserProfile"

 八 、 在我创建后台管理系统的时候 遇到了 :用户名和密码输入不正确 :
 解决方案:因为我打开了两个项目的运行 这样就会导致了 两个重复的问题 关闭一个项目的运行 即可。
  
  在user app当中 后台管理系统是基于 user app 设置的。
  在 user 的app 当中 设置一个管理器;
  
 from .models import UserProfile//user 中的 定义的用户的类

class UserProfileAdmin(admin.ModelAdmin): //继承admin 
    pass
admin.site.register(UserProfile,UserProfileAdmin)# 设置一个管理器  注意后一个是继承前一个导入的user中的模块

九 、XAdmin 的安装:
出现了 版本的解码的问题:
  django自带的admin后台管理功能太少。使用国人开发的xadmin后台,使用pip install xadmin安装在线包时,会出错,其中的README.rst是utf8格式,我们win7系统默认是gbk格式,导致安装失败。这个时候需要下载适合django2的xadmin安装包文件。下载地址不是xadmin的默认主分支,而是django2分支:
 https://github.com/sshwsfc/xadmin/tree/django2
  我已经下载,并替换了其中的README.rst文件,地址是:
   链接: https://pan.baidu.com/s/1rux8sDK9thhbZ1qjwQg6kA 密码: iq4c

下载好后 解压后 把xadmin 拷贝到 项目的根目录下

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐