小编Kak*_*kar的帖子

使用django admin中的外部链接来创建或更新

我正在使用编辑器wysiwyg编辑器来编写我的内容.该页面只有wysiwyg编辑器和一个保存按钮.

HTML:

<div id="editor-wrapper">
    <input type="text" id="editor-title" {%if blog %} value="{{blog.title}}" {% else %} placeholder="Your title" {% endif %}>
    <textarea id="editor-redactor" name="content">
        {% if blog %}
            {{ blog.body }}
        {% else %}
            <p>Enter you body in here...</p>
        {% endif %}
    </textarea>
    <button id="save-btn"><a href="/save-blog/">Save</a> </button>
</div>
Run Code Online (Sandbox Code Playgroud)

在urls.py中,我添加了要转到该页面的URL.

url(r'^add-update-blog/$', views.add_update_blog),
url(r'^add-update-blog/save/(?P<blog_id>\d+)$', views.add_update_blog),
Run Code Online (Sandbox Code Playgroud)

views.py:

def add_update_blog(request):
    return render(request, 'editor.html')

def add_update_blog_save(request, blog_id):
    blog = Blog.objects.get(id=blog_id)
    return render(request, 'editor.html', {
        blog: blog
    })
Run Code Online (Sandbox Code Playgroud)

现在,在django-admin面板中可能有已写入内容的列表:

  • 如果我点击添加,我想进入编辑页面.
  • 如果我点击任何已编写的内容对象,我想获取该对象并将其加载到编辑器页面中.

现在它显示列表,当我单击添加或内容时,它仅显示在管理面板内.我如何实现我想要的目标?你的帮助和指导非常非常重要.谢谢.

django django-templates django-admin

5
推荐指数
1
解决办法
370
查看次数

在 react-native 动画中按下时动画

我想在媒体上制作动画视图。

export default class AnimatedRotation extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            spinValue: new Animated.Value(0),
            color: '#F62459',
        }
    }

    rotateSpring = () => {
        Animated.spring(
            this.state.spinValue,
            {
                toValue: 1,
                friction: 1,
            }
        ).start();
        this.setState({
            color: this.state.color == '#F62469' ? '#FFC107' : '#F62469',
        })
    };

    render() {
        var spin = this.state.spinValue.interpolate({
            inputRange: [0, 1],
            outputRange: ['0deg', '360deg'],
        });

        return (
            <View style={styles.container}>
                <Text style={styles.header}>Header</Text>
                <View style={styles.wrapper}>
                    <TouchableWithoutFeedback onPress={this.rotateSpring}>
                        <Animated.View style={[styles.circle, {
                            transform: [{rotate: spin},],
                            backgroundColor: this.state.color
                            }]}>
                            <Icon name="ios-add" …
Run Code Online (Sandbox Code Playgroud)

react-native

5
推荐指数
1
解决办法
6904
查看次数

使用 javascript 和 css 在到达屏幕顶部时修复元素

我有一个元素,我希望在它到达屏幕顶部后粘在顶部。

<div id="HeaderWrapper">
  ...
  <div id="Navigation">
    Navigation
  </div>
  ...
</div>
Run Code Online (Sandbox Code Playgroud)

我在 上添加了一个事件侦听器scroll,它将调用一个函数来使用getBoundingClientRect()方法检查元素的发布。如果元素的topy相对于视口小于 0,那么我想修复/粘贴标题。同样,如果它大于 0,那么我想删除固定位置。在这两种情况下,我都会添加和删除fixed_navbar具有固定位置属性的类名。

document.addEventListener("scroll", function() {
  const el = document.getElementById("Navigation");
  let rect = el.getBoundingClientRect();
  if (rect.top <= 0) {
    el.classList.add("fixed_navbar");
  } else {
    el.classList.remove("fixed_navbar");
  }
});
Run Code Online (Sandbox Code Playgroud)

您还可以查看codepen 演示

当元素的顶部位置大于零时,它工作正常。此外,当向下滚动到元素顶部位置小于 0 的位置时,它会粘在页面上并具有固定属性。但是再次滚动回到元素顶部大于 0 的位置时,元素仍然具有固定属性并粘在屏幕顶部。当元素到达屏幕顶部时,如何使元素粘在顶部,当元素低于屏幕顶部时,如何再次移除固定位置?

javascript css sticky

5
推荐指数
2
解决办法
1631
查看次数

django - 通过过滤对象列表来获取对象列表

我正在创建用户活动流。

活动模型:

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)

关系模型:

class Person(models.Model):
    user = models.OneToOneField(User)
    relationships = models.ManyToManyField('self', through='Relationship', 
                                           symmetrical=False, 
                                           related_name='related_to')
RELATIONSHIP_FOLLOWING = 1
RELATIONSHIP_BLOCKED = 2
RELATIONSHIP_STATUSES = (
    (RELATIONSHIP_FOLLOWING, 'Following'),
    (RELATIONSHIP_BLOCKED, 'Blocked'),
)

class Relationship(models.Model):
    from_person = models.ForeignKey(Person, related_name='from_people')
    to_person = models.ForeignKey(Person, related_name='to_people')
    status = models.IntegerField(choices=RELATIONSHIP_STATUSES)  

def get_relationships(self, status):
    return self.relationships.filter(
        to_people__status=status, 
        to_people__from_person=self)

def get_following(self):
    return self.get_relationships(RELATIONSHIP_FOLLOWING)
Run Code Online (Sandbox Code Playgroud)

在意见中:

def home(request):
    if request.user.is_authenticated():
        user …
Run Code Online (Sandbox Code Playgroud)

django django-models django-orm django-views

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

django - TextField不能为null或空白

这是我的模特:

class Blog(models.Model):
    title = models.CharField(max_length=300, blank=True, null=True)
    description = models.TextField(blank=True, null=True)
    image = models.ImageField(upload_to=get_upload_file_name, blank=True, null=True, default='')
    pubdate = models.DateTimeField(default=timezone.now)
    of_type = models.CharField(max_length=2,choices=TYPES)
Run Code Online (Sandbox Code Playgroud)

当我syncdb,它正确syncdb.但是当我在管理员中时,我尝试保存没有描述的博客,但事实并非如此.它显示错误

这是必填栏.

我该如何克服这个问题?

然而在管理员中我使用ckeditor来使用它的小部件:

class BlogAdminForm(forms.ModelForm):
    description = forms.CharField(widget=CKEditorWidget())
    class Meta:
        model = Blog

class BlogAdmin(admin.ModelAdmin):
    form = BlogAdminForm

admin.site.register(Blog, BlogAdmin)
Run Code Online (Sandbox Code Playgroud)

我在代码中做错了吗?请帮我解决这个问题.我将非常感激.谢谢.

django django-models django-forms django-admin

4
推荐指数
1
解决办法
4490
查看次数

如何将 es6 语法添加到 atom 编辑器

我正在使用 sublime text,但现在想使用 atom.io 编辑器。我有这些代码行:

// error: Missing semicolon.
import React, { Component } from 'react'

export default class RegisterName extends Component {
    constructor(props) {

        // error: Missing semicolon.
        super(props)
        this.state = {
            firstName: '',
            lastName: '',
            displayError: false,
            error: 'Please provide a valid name'

        //error: Missing semicolon.
        }
    }


    // error: Class property must be methods. Expected '(' but saw instead '='....
    next = () => {
        console.log('next')
        console.log(this.state.firstName, this.state.lastName)
    }

    render() {
        return(
            <View style={styles.container}>
                <View>
                    <TouchableOpacity style={styles.logoContainer}> …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 atom-editor

4
推荐指数
1
解决办法
8898
查看次数

如何使用 django-storages 和 boto3 获取 aws s3 对象密钥

我使用 django-storage 和 boto3 使用 aws s3 来存储媒体和静态文件。我需要获取 aws s3 存储桶的对象键,以便我可以生成该对象的 url。

client = boto3.client('s3')
bucket_name = 'django-bucket'

key = ???

u = client.generate_presigned_url('get_object', Params = {'Bucket': bucket_name, 'Key': key,'ResponseContentType':'image/jpeg', 'ResponseContentDisposition': 'attachment; filename="your-filename.jpeg"'}, ExpiresIn = 1000)
Run Code Online (Sandbox Code Playgroud)

这些在我的设置中:

STATICFILES_LOCATION = 'static'
MEDIAFILES_LOCATION = 'media'
STATICFILES_STORAGE = 'myproject.custom_storages.StaticStorage'
DEFAULT_FILE_STORAGE = 'myproject.custom_storages.MediaStorage'
AWS_ACCESS_KEY_ID = "my_access_key_id"
AWS_SECRET_ACCESS_KEY = "my_secret_access_key"
AWS_STORAGE_BUCKET_NAME = "django-bucket"
AWS_QUERYSTRING_AUTH = False
AWS_S3_CUSTOM_DOMAIN = AWS_STORAGE_BUCKET_NAME + ".s3.amazonaws.com"
# static media settings
STATIC_URL = "https://" + AWS_STORAGE_BUCKET_NAME + ".s3.amazonaws.com/"
MEDIA_URL = STATIC_URL …
Run Code Online (Sandbox Code Playgroud)

django amazon-s3 boto django-storage boto3

4
推荐指数
1
解决办法
3901
查看次数

从react native中Flatlist的数据中区分前一个元素和当前元素

我正在尝试使用 react native 构建一个聊天应用程序。我正在使用 flatlist 列出对话的消息。

export default class ExampleConversation extends React.Component {
    _renderItem = ({item}) => {
        return (
            <View style={{backgroundColor: 'white', margin: 4, flexDirection: 'row'}}>
                <Text>{item.sender.id}</Text>
                <Text>{item.body}</Text>
            </View>
        )
    };

    render() {
        return <FlatList
                    data={data}
                    renderItem={this._renderItem}
                    keyExtractor={(item, id) => item.id}
                    style={styles.container}
                    inverted={true}/>
    }
}
Run Code Online (Sandbox Code Playgroud)

从服务器获取的 JSON 数据:

const data = [
    {
        "id": 13,
        "sender_id": 1,
        "body": "Some message"
    },
    {
        "id": 12,
        "sender_id": 1,
        "body": "Some message"
    },
    {
        "id": 11,
        "sender_id": 5,
        "body": "Some message"
    } …
Run Code Online (Sandbox Code Playgroud)

user-interface reactjs react-native react-native-flatlist

3
推荐指数
1
解决办法
2476
查看次数

django s3存储无法识别存储桶名称

我使用的是django-s3-storage == 0.11.2boto3 == 1.4.4.这些在settings.py中:

STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]
STATIC_ROOT = os.path.join(BASE_DIR, 'static_cdn')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media_cdn')

AWS_S3_BUCKET_NAME = "my-bucket-name"
AWS_ACCESS_KEY_ID = 'test_id_x'
AWS_SECRET_ACCESS_KEY = 'test_id_x+test_id_x'
DEFAULT_FILE_STORAGE = "django_s3_storage.storage.S3Storage"
STATICFILES_STORAGE = "django_s3_storage.storage.StaticS3Storage"
AWS_S3_ADDRESSING_STYLE = "auto"
AWS_S3_BUCKET_AUTH_STATIC = False
AWS_S3_MAX_AGE_SECONDS_STATIC =  60 * 60 * 24 * 365  # 1 year.
AWS_S3_BUCKET_AUTH = False
AWS_S3_MAX_AGE_SECONDS = 60 * 60 * 24 * 365  # 1 year.
Run Code Online (Sandbox Code Playgroud)

我也运行了这些命令:

manage.py s3_sync_meta …
Run Code Online (Sandbox Code Playgroud)

django boto boto3

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

加载外部脚本后运行Vue组件的方法

我正在使用谷歌地图 API,并创建了一个组件来显示地图。

索引.html:

<!DOCTYPE html>
<html>
<head>
    ...
</head>
<body>
<div id="app"></div>
<!-- built files will be auto injected -->
<script>
window.show_google_map = false;
console.log(window.show_google_map);
function initMap() {
    console.log('map loaded');
    window.show_google_map = true;
    console.log(window.show_google_map);
}
</script>
<script async defer
        src="https://maps.googleapis.com/maps/api/js?key=googleapikeyxxxx&callback=initMap"
        type="text/javascript"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

谷歌地图.vue:

<template>
    <div class="google_map" :id="map_name"></div>
</template>

<script>
    export default {
        name: 'google_map',
        props: ['map_id'],
        data() {
            return {
                map_name: this.map_id + '-map',
            }
        },
        methods: {
            create_map() {
                const element = document.getElementById(this.map_name);
                const options = {
                    zoom: …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps vue.js

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