Linux 学习一 搭建环境系列之三 linux搭建django 以及搭建django时遇到的各种问题

搭建django时,遇到的各种问题导致卸载重装重装再卸载,做了很多次,耽搁了太多时间!记个笔记

搭建django 网址推荐:

    http://blog.csdn.net/a249900679/article/details/51527200

    https://www.cnblogs.com/freeweb/p/5210167.html


本人遇到的各种问题:

1、django.core.exceptions.ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3

原因:缺少sqlite数据库??
解决方案:
    在可以连接外网的条件下:
    1、 yum install -y sqlite   sqlite-devel
    2、 然后重新编译安装python,找到原本下载解压python的目录,
     如我的目录时:
    # cd /usr/local/python3/Python-3.6.1
    # ./configure --prefix=/usr/local/python3
     #  make && make install   
   如果不能连接外网,就无法使用yum了:
    1、现在官网上 下载相应的sqlite源码包  :http://www.sqlite.org/download.html
       
        2、解压下载的包:
                 tar -zxvf xxx.tar.gz
        3、进入下载的sqlite目录,执行命令安装
               3.1、  ./configure
              3.2、 make && make install
        4、安装完成之后  输入    sqlite3  验证
        5、验证成功后,再到安装目录python路径下 再重新编译安装一次                 
        5.1    # cd /usr/local/python3/Python-3.6.1
        5.2    # ./configure --prefix=/usr/local/python3
          5.3     #  make && make install  
        6、如果不放心 可以再使用命令验证一下python 和django
                如 python3 -V 
                    python3
                        import django
                        django.VERSION
                或者使用:    
                    python3 -c "import django; print(django.get_version())"    直接验证django
        7、再创建django项目
                 django-admin.py startproject HelloDjango
        8、关闭linuxx防火墙:
                

/etc/init.d/iptables stop


        9、进入刚才创建的项目目录下,开启服务:
                 python3 manage.py runserver  192.168.110.128:8000
        10、windows系统用浏览器登录 如图:
    


         11、退出之后,查询该端口进程,如果不想使用就删掉:
        sudo netstat -tulpn | grep :8000
        删掉 8000的进程: kill -9 8000的进程数(如28360:kill -9 28360)  


2、继续第一个问题之后,
可以先验证一下安装的python和django :     
         python -c "import django; print(django.get_version())"
如果没有问题,就创建一个hello工程
   
django-admin.py startproject HelloDjango
可能会报错:
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
如图:

解决方案:注意自己的我本人的命令是:    python3 manage.py migrate(python3是安装python时启用的命令)

 
# 此时需要先输入以下命令
python manage.py migrate
# 输出以下信息则为正常情况
Operations to perform:
  Apply all migrations: admin, contenttypes, auth, sessions
Running migrations:
  Rendering model states... DONE
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying sessions.0001_initial... OK
# 运行成功后,再次运行如下命令即可:
python manage.py runserver
# 此时出现如下结果则代表一切正常:
System check identified no issues (0 silenced).
December 21, 2014 - 08:56:00
Django version 1.7.1, using settings 'my_blog.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
# 如果你的环境中有图形化的浏览器的话,则可以进行进一步的检验。输入:http://127.0.0.1:8000/
如图:



3、

关于django服务器重启端口占用解决方案

有时会用到启动之后再启动会遇到端口已经被用的情况,
可以先查看进程如8000端口:sudo netstat -tulpn | grep :8000
再根据查看到的进程杀掉: kill -9 xxx(进程数)
如图:


4、

[root@53DB255Linux python]# django-admin startproject dbs_python
-bash: django-admin: command not found

额 又报错

找到路径 find / -name django-admin.py

/usr/local/python27/bin/django-admin.py  startproject dbs_python 

可以创建了 这是没有加环境变量

加入环境变量:

export PATH=/usr/local/python3/bin/:$PATH
如图:



5、出现错误:
Invalid HTTP_HOST header: '192.168.110.128:8000'. You may need to add '192.168.110.128' to ALLOWED_HOSTS.
解决方案:
在python3 manage.py runserver 192.168.110.128:8000
创建的项目的目录中修改setting.py文件 在 []里面添加 '*' 再保存退出即可
     ALLOWED_HOSTS = [‘*‘]  #在这里请求的host添加了*


6、防火墙设置

防火墙的方法为:

一、service方式

查看防火墙状态:

[root@centos6 ~]# service iptables status

iptables:未运行防火墙。

开启防火墙:

[root@centos6 ~]# service iptables start

关闭防火墙:

[root@centos6 ~]# service iptables stop

二、iptables方式

先进入init.d目录,命令如下:

[root@centos6 ~]# cd /etc/init.d/

[root@centos6 init.d]#

然后

查看防火墙状态:

[root@centos6 init.d]# /etc/init.d/iptables status

暂时关闭防火墙:

[root@centos6 init.d]# /etc/init.d/iptables stop

重启iptables:

[root@centos6 init.d]# /etc/init.d/iptables restart



7、
python manage.py startapp appname 运行某个应用

python manage.py makemigrations   用于记录数据库的所有修改

python manage.py migrate          将修改的数据进行提交

python manage.py createsuperuser  创建一个超级管理员


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值