标签 django 下的文章

Django2.x删除表后重建

Django框架中删除表,正确的方法步骤如下:
1、进入数据库中,如MySQL中删除表

drop table tablename;

2、注释django中对应的Model和引用该Model对应的代码,然后执行:

python manage.py makemigrations   
python manage.py migrate --fake

d1.jpg
3、去掉刚才的注释重新同步数据即可。

python manage.py makemigrations   
python manage.py migrate

通过Nginx、Uwsgi快速部署Django

uwsgi:是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。
运行过程:
nginx作为服务器的最前端,它将接受WEB的所有请求,统一管理请求。nginx把所有静态请求自己来处理(这是nginx的强项,静态文件像我们django博客项目中的static文件夹下面的图片,css,js)。



---阅读剩余部分---

Django关系之ManyToManyField多对多关系及后台调用显示

Django 的 ORM 有多种关系:一对一,多对一,多对多
各自定义的方式为 :
一对一: OneToOneField (一个有一个,即 has one: OneToOneField)
多对一: ForeignKey (多个属于一个,在建立 ForeignKey 时,另一个表会自动建立对应的关系)
多对多: ManyToManyField (一个既有很多个,又属于很多个,即 has many and belong to : ManyToManyField,同样只能在一个model类中说明,关联表会自动建立。)

多对多关系ManyToManyField
现有三张表,cloud表和project表和Host表,cloud有cloud_type信息,project表中有工程名、cloud_type等信息,host表中有host_name、cloud_type信息;






---阅读剩余部分---

No module named _sqlite3报错解决

Django执行新建项目时报错
python manage.py startapp blog 报错:

Traceback (most recent call last):  
  File "manage.py", line 10, in <module>  
    execute_from_command_line(sys.argv)  
  File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line  
    utility.execute()  
  File "/usr/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 327, in execute  
    django.setup()  
  File "/usr/local/lib/python2.7/site-packages/django/__init__.py", line 18, in setup  
    apps.populate(settings.INSTALLED_APPS)  
  File "/usr/local/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate  
    app_config.import_models(all_models)  
  File "/usr/local/lib/python2.7/site-packages/django/apps/config.py", line 202, in import_models  
    self.models_module = import_module(models_module_name)  
  File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module  
    __import__(name)  
  File "/usr/local/lib/python2.7/site-packages/django/contrib/auth/models.py", line 4, in <module>  
    from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager  
  File "/usr/local/lib/python2.7/site-packages/django/contrib/auth/base_user.py", line 49, in <module>  
    class AbstractBaseUser(models.Model):  
  File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 108, in __new__  
    new_class.add_to_class('_meta', Options(meta, app_label))  
  File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py", line 299, in add_to_class  
    value.contribute_to_class(cls, name)  
  File "/usr/local/lib/python2.7/site-packages/django/db/models/options.py", line 263, in contribute_to_class  
    self.db_table = truncate_name(self.db_table, connection.ops.max_name_length())  
  File "/usr/local/lib/python2.7/site-packages/django/db/__init__.py", line 36, in __getattr__  
    return getattr(connections[DEFAULT_DB_ALIAS], item)  
  File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 212, in __getitem__  
    backend = load_backend(db['ENGINE'])  
  File "/usr/local/lib/python2.7/site-packages/django/db/utils.py", line 116, in load_backend  
    return import_module('%s.base' % backend_name)  
  File "/usr/local/lib/python2.7/importlib/__init__.py", line 37, in import_module  
    __import__(name)  
  File "/usr/local/lib/python2.7/site-packages/django/db/backends/sqlite3/base.py", line 39, in <module>  
    raise ImproperlyConfigured("Error loading either pysqlite2 or sqlite3 modules (tried in that order): %s" % exc)  
django.core.exceptions.ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3 

解决办法:安装sqlite-devel

yum install sqlite-devel

重新编译Python3

cd /opt/Python-3.6.2
./configure --prefix=/usr/local --enable-loadable-sqlite-extensions
make
make install

完成以后新建项目,即可;

python manage.py startapp blog

Django创建应用/DB等初始化设置

如果是基于mkvirtualenv创建的虚拟环境需要在安装下django
pip install Django==1.10.5
创建项目:django-admin.py startproject ice
创建工程:django-admin.py startapp blog
设置基础参数ice/settings.py文件:

DEBUG = True 打开调试模式
TEMPLATE_DEBUG = True 模板调试模式
ALLOWED_HOSTS = [u'192.168.121.160'] 设置允许的IP,不设置会报Invalid HTTP_HOST header: '192.168.121.160:8000'. You may need to add u'192.168.121.160' to ALLOWED_HOSTS.错误







---阅读剩余部分---

最新

分类

归档

评论

  • 安安: 都是af
  • Liang: 嗯,有点不通顺·
  • 王庭威: “MySQL互为主从...
  • Liang: 贴下编译参数和步骤,...
  • shao3911: 您好,为什么我在编译...
  • aliang: 先看是yum安装还是...
  • aliang: 将原来的nginx安...
  • yen: 3、如果要回滚的话,...
  • yen: 刚好需要升级ngin...
  • 文雨: 一些新的method...

其它