小编Kak*_*kar的帖子

django - 信号不起作用

我正在尝试从其状态创建用户的活动流.

楷模:

class Status(models.Model):
    body = models.TextField(max_length=200)
    image = models.ImageField(blank=True, null=True, upload_to=get_upload_file_name)
    privacy = models.CharField(max_length=1,choices=PRIVACY, default='F')
    pub_date = models.DateTimeField(auto_now_add=True, auto_now=False)
    user = models.ForeignKey(User)

class Activity(models.Model):
    actor = models.ForeignKey(User)
    action = models.CharField(max_length=100)
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey('content_type', 'object_id')
    pub_date = models.DateTimeField(auto_now_add=True, auto_now=False)
Run Code Online (Sandbox Code Playgroud)

但是,虽然我创建了一个新状态,但它不会根据post_save信号创建新活动.

信号:

from django.contrib.contenttypes.models import ContentType
from django.db.models.signals import post_save
from status.models import Status
from models import Activity

def create_activity_item(sender, instance, signal, *args, **kwargs):
    if kwargs.get('created', True):
        ctype = ContentType.objects.get_for_model(instance)

        if ctype.name == …
Run Code Online (Sandbox Code Playgroud)

django django-signals

34
推荐指数
4
解决办法
2万
查看次数

从标题中的按钮导航到不同的屏幕

我正在使用来自react-native 的新React-navigation.我的导航如下:

StackNavigator:

  1. TabNavigator // HomeNavigation
  2. TabNavigator // NotificationNavigation

完整代码:

const MainNavigation = StackNavigator({
    Home: {
        screen: HomeNavigation,
    },
    Notification: {
        screen: NotificationNavigation,
    }
});

const HomeNavigation = TabNavigator({
    AllPost: {
        screen: All,
    },
    ArticlePost: {
        screen: Article,
    },
    BusinessPost: {
        screen: Job,
    },
});

HomeNavigation.navigationOptions = {
    title: 'Home',
    header: {
        right: <SearchNotification/>
    },
};

class SearchNotification extends React.Component {
    goToNotification = () => {
        this.props.navigate('Notification');
    };

    render() {
        return (
            <View style={styles.container}>
                <TouchableOpacity>
                    <Icon name="md-search" style={styles.Icon}/> …
Run Code Online (Sandbox Code Playgroud)

reactjs react-native

23
推荐指数
1
解决办法
3564
查看次数

听取轻拍并拖动值并相应地运作

我应该如何创建一个自定义页面过渡,听取轻击和滑动/拖动?.如果页面被向右/向左拖动(同时仍然保持),则将页面拖动/滑动到滑动/阈值.释放水龙头时,如果值等于或大于页面中心或最大阈值,则滑动到下一页(链接),否则滑回其原始位置.例子.我想在我的jquery移动应用程序中应用它.一个示例演示会很棒.谢谢.

javascript jquery android ios jquery-mobile

14
推荐指数
1
解决办法
166
查看次数

如何在React Native中获取TextInput相对于其父级或屏幕的光标位置

有没有办法在没有响应的情况下获取TextInput光标的Y位置(如果可能的话)而没有任何本地(android / ios)黑客攻击?我并不是说光标选择状态的开始和结束。我想要实现的是,当键盘打开时,我想根据光标的位置显示模式,就像在Facebook和Instagram中提到的那样。或者光标可能在哪一行?这样,我也许能够计算光标的位置。

意思是,如果光标在TextInput的开头(屏幕顶部),我想在光标下方显示模式,直到键盘。如果光标位于TextInput的中间或底部(屏幕顶部和Keyboard之间的可见区域的中间),我想在光标上方显示模式。

用例:

  1. 此处,光标在屏幕顶部。

在此处输入图片说明

而且,由于光标位置和键盘之间有空间,所以我想在光标和键盘之间显示模式。

在此处输入图片说明

  1. 在这种情况下,光标位于屏幕顶部和键盘之间的大约中间位置。

在此处输入图片说明

由于在这种情况下,光标上方到屏幕顶部的空间很大,因此我想在光标上方显示模式。

在此处输入图片说明

  1. 用户还可以更改光标位置,并从新的光标位置开始键入。因此,我不能仅仅测量TextInput的高度并依靠TextInput的高度,这就是为什么我需要知道光标Y位置在哪里的原因。

javascript react-native

13
推荐指数
1
解决办法
399
查看次数

从Django用户模型迁移到自定义用户模型

我正在遵循这两个引用(一个两个)来创建自定义用户模型,以便通过电子邮件进行身份验证并向其中添加一个额外的字段。

class User(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField(
        unique=True,
        max_length=254,
    )
    mobile_number = models.IntegerField(unique=True)
    is_active = models.BooleanField(default=True)
    is_admin = models.BooleanField(default=False)

    objects = UserManager()
    ...
    ...    
    class Meta:
        db_table = 'auth_user'
    ...
    ...
Run Code Online (Sandbox Code Playgroud)

如您所见,我已经db_table='auth_user'在类的Meta字段中添加了。另外,我在settings.py中包含了AUTH_USER_MODEL = 'accounts.User'和用户模型应用程序(即帐户)INSTALLED_APPS。此外,我从应用程序中删除了Migrations文件夹。

然后尝试迁移:

$ python manage.py makemigrations accounts
Migrations for 'accounts':
  accounts/migrations/0001_initial.py:
    - Create model User

$ python manage.py migrate accounts
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误:

django.db.migrations.exceptions.InconsistentMigrationHistory:迁移admin.0001_initial在其依赖项帐户之前应用。数据库'default'上的0001_initial。

如何从现有的django用户模型迁移到自定义用户模型?

django django-migrations

12
推荐指数
4
解决办法
9406
查看次数

django选择字段的默认值

假设类Photo用于保存具有选择字段和其他属性的照片:

class Photo(models.Model):
    ONLYME = 'O'
    FRIENDS = 'F'
    PUBLIC = 'P'
    CHOICES = (
        (ONLYME, "Me"),
        (FRIENDS, "Friends"),
        (PUBLIC, "Public"),
    )

    display = models.CharField(max_length=1, choices=CHOICES, blank=True, null=True)
    user = models.ForeignKey(User)
    description = models.TextField()
    pub_date = models.DateTimeField(auto_now=True, auto_now_add=False)
    update = models.DateTimeField(auto_now=False, auto_now_add=True)
    image = models.ImageField(upload_to=get_upload_file_name, blank=True)
Run Code Online (Sandbox Code Playgroud)

现在,如何在display属性中将照片的默认值或初始值设置为"朋友" ?

django django-models

11
推荐指数
1
解决办法
1万
查看次数

Vuex存储状态未定义

我试图使用Vuex ("^2.1.3")vuejs ("^2.1.10")这样的项目:

store.js:

import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);

export const store = new Vuex.Store({
    state: {
        inTheaters: [
            {
                name: 'Resident Evil: The Final Chapter',
                poster_url: 'https://blackgirlnerds.com/wp-content/uploads/2017/02/Resident-Evil-The-Final-Chapter-Final-Poster-Featured.jpg',
                language: 'English',
            },
            {
                name: 'Irada',
                poster_url: 'http://filmywave.com/wp-content/uploads/2017/02/irada-movie-poster-1.jpg',
                language: 'Hindi',
            },
        ]
    },
});
Run Code Online (Sandbox Code Playgroud)

main.js:

import store from './store';

new Vue({
    router,
    components: {App},
    template: '<App/>',
    store,
}).$mount('#app');
Run Code Online (Sandbox Code Playgroud)

一些-component.js:

<script>
    export default {
        name: 'movieListWrapper',
        props: {
            movieListType: {
                type: String,
                default: 'in-theateras',
            }, …
Run Code Online (Sandbox Code Playgroud)

vue.js vuex vuejs2

11
推荐指数
1
解决办法
2万
查看次数

根据日期和时间创建对象

我有一个活动模型,每个活动都有不同的节目.

class Event(models.Model):
    title = models.CharField(max_length=200)

class Show(models.Model):
    event = models.ForeignKey(Event, on_delete=models.CASCADE)
    date_time = models.DateTimeField(unique=True)
Run Code Online (Sandbox Code Playgroud)

我有另一个Ticket模型.每张票都应该是唯一的.这意味着每张票都是唯一的,并与Show和Seat相关.

class Ticket(models.Model):
    show = models.ForeignKey(Show)
    seat = models.ForeignKey(Seat)

    class Meta:
        unique_together = ('show', 'seat')
Run Code Online (Sandbox Code Playgroud)

我需要根据用户提供的开始日期和结束日期创建节目.假设这是一个JSON帖子:

{
    "event_id": 1,
    "start_date": "2018-02-16",
    "end_date": "2018-02-20",
    "time_list": ["11:00 AM", "8:00 PM"]
}
Run Code Online (Sandbox Code Playgroud)

从上面的JSON示例中,我需要创建Show start,如下所示:

# Start with the start_date as the date, and for each time from the time_list
Show.objects.create(
    event = 1,
    date_time = datetime.strptime('2018-02-16 11:00 AM', "%Y-%m-%d %I:%M %p")
)
Show.objects.create(
    event = 1,
    date_time = …
Run Code Online (Sandbox Code Playgroud)

python django python-3.x django-rest-framework

11
推荐指数
2
解决办法
591
查看次数

amazon s3和django - 仅允许来自我网站的用户而不是匿名用户

我使用amazon s3来存储上传的用户图像.我的问题是:

  • 如果我允许或接受我,我无法上传或下载内容.
  • 如果我允许或授予每个人,所有用户和(特别是)匿名用户将能够看到我不想要的内容.

所以,我的问题是,我该怎么办才能让我网站上的用户上传,下载和删除内容?

在那我有条件:

  1. 只有跟随用户(user0)的用户(user1,user2,user3,...)才能下载/查看内容?
  2. 只有上传视图的用户才能删除该内容.

models.py:

def get_upload_file_name(instance, filename):
    return "uploaded_files/%s_%s" %(str(time()).replace('.','_'), filename)

PRIVACY = (
    ('H','Hide'),
    ('F','Followers'),
    ('A','All'),
)

class Status(models.Model):
    body = models.TextField(max_length=200)
    image = models.ImageField(blank=True, null=True, upload_to=get_upload_file_name)
    privacy = models.CharField(max_length=1,choices=PRIVACY, default='F')
    pub_date = models.DateTimeField(auto_now_add=True, auto_now=False)
    user = models.ForeignKey(User)
Run Code Online (Sandbox Code Playgroud)

settings.py:

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'

AWS_ACCESS_KEY_ID = 'FAKEAMAZONKEY'

AWS_SECRET_ACCESS_KEY = 'FAKEAMAZONSECRETKEY'

AWS_STORAGE_BUCKET_NAME = 'fakebucketname'
Run Code Online (Sandbox Code Playgroud)

更新

用户之间关系的模型

class Person(models.Model):
    user = models.OneToOneField(User)
    relationships = models.ManyToManyField('self', through='Relationship', 
                                           symmetrical=False, 
                                           related_name='related_to')

    def __unicode__(self):
        return self.user.username

    def add_relationship(self, person, status):
        relationship, created …
Run Code Online (Sandbox Code Playgroud)

django amazon-s3 boto amazon-web-services

10
推荐指数
2
解决办法
1714
查看次数

jquery ui draggable自动更改宽度

我正在通过jquery ui docs来使div成为可拖动和可排序的.它确实适用于拖动和排序.但是当我从可拖动的div中取出div时,draggable的宽度会改变,并且不会保留它应该的宽度.

这是演示

JS:

$(function() {
    $('#grid-main_content').sortable({
        revert:true
    });

    $('#block-list .block').draggable({
        connectToSortable: '#grid-main_content',
        helper: 'clone',
        revert:'invalid'
    });
})
Run Code Online (Sandbox Code Playgroud)

如果我检查我拖动到sortable的元素,我可以看到一个内联样式被赋予一个带有宽度的可拖动块(通过jquery).

如何保持块已有的样式?谢谢.

html javascript css jquery jquery-ui

9
推荐指数
2
解决办法
9805
查看次数