分类标签归档:Django

基于BootStrap的Django后台管理应用


基于BootStrap的Django后台管理应用

今天给大家介绍一款基于BootStrap的响应式Django admin后台管理应用django-admin-bootstrap:

特征

  • 响应式
  • 边栏菜单
  • 易于安装/设置
  • 支持Django 1.11和2.1
  • Bootstrap 3
  • Python 3

截图

请参见屏幕截图

安装

$ pip install bootstrap-admin

并且不要忘记在之前添加bootstrap_admin。INSTALLED_APPS django.contrib.admin

例:

INSTALLED_APPS = (
    # ...
    'bootstra...

阅读全文...

在Django中如何使用Ajax


在Django中如何使用Ajax

Django实现基本请求是这样的:

1、views.py

def hello(request):
    return HttpResponse('Hello World!')

def home(request):
    return render_to_response('index.html', {'variable': 'world'})

2、index.html

<h1>Hello {{ variable }}, welcome to my awesome site</h1>

3、url

url(r'^hello/',...

阅读全文...

为什么当DEBUG = False时,我的django静态文件访问失败?


为什么当DEBUG = False时,我的django静态文件访问失败?

关闭调试后,Django将不再为您处理静态文件 - 您的生产Web服务器(Apache或其他东西)应该处理这个问题。

如果非要访问可以有如下解决方法:

1、可以在不安全模式下运行devserver:

manage.py runserver --insecure

2、可以是WhiteNoise

pip install WhiteNoise
from django.core.wsgi import get_wsgi_application
from whitenoise.django import DjangoWhit...

阅读全文...

解决AngularJS与Django的模板标签冲突


解决AngularJS与Django的模板标签冲突

想将AngularJS与Django一起使用,但它们都{{ }}用作模板标签。是否有一种简单的方法来改变其中一个使用其他自定义模板标签?

在Angular 中可以使用$interpolateProvider来配置插值符号:

myModule.config(function($interpolateProvider) {
  $interpolateProvider.startSymbol('{[{');
  $interpolateProvider.endSymbol('}]}');
});

阅读全文...

在Django保存时,如何检查字段是否被更改


在Django保存时,如何检查字段是否被更改

解决方法是在Model的__init__方法中保存原值的副本

class Person(models.Model):
  name = models.CharField()

  __original_name = None

  def __init__(self, *args, **kwargs):
    super(Person, self).__init__(*args, **kwargs)
    self.__original_name = self.name

  def save(self, force_insert=Fal...

阅读全文...

Django中如何实现分组查询


Django中如何实现分组查询

假如有如下查询:

Members.objects.all()

返回如下数据:

Eric, Salesman, X-Shop
Freddie, Manager, X2-Shop
Teddy, Salesman, X2-Shop
Sean, Manager, X2-Shop

实现分组查询如下:

from django.db.models import Count
Members.objects.values('designation').annotate(dcount=Count('designation'))

该查询和如...

阅读全文...

Django 如何继承(扩展)User模型类



在实际项目开发当中我们一般有两种需求,1. 继承User类,添加更多用户属性以适合项目需求。 2. 引用User类。

1. 继承User类,添加更多用户属性以适合项目需求

from django.contrib.auth.models import User

class MyUser(User):
  custom_field  = models.CharField(max_length=100)
  ...

注意:这里必须在settings.py配置文件中添加:

AUTH_USER_MODEL = 'myapp.MyUser'

2. 引用User类

建立一对一关系

from dja...

阅读全文...

如何解决Django的NoReverseMatch错误



NoReverseMatch错误是说,Django中找不到你在任何已安装的应用程序网址提供的URL匹配的URL模式。

当根据提供的参数无法识别URLconf中的匹配URL时,django.core.urlresolvers会引发NoReverseMatch异常。

错误可能发生如下情况:

  • url匹配错误

    应用程序当前正在尝试访问该网址,但它包含无法匹配的网址

  • 反转'my_url_name'

    这是它找不到的网址的名称

  • 非关键字参数错误

    这些是它提供给url的非关键字参数

  • 关键字参数错误

    这些是它提供给url的关键字参数

  • 正则表达式模式匹配错误

    这些是它能够在您尝试匹配的urls....

阅读全文...