小编hal*_*nes的帖子

Bootstrap 4输入组附加不起作用

使用以下HTML:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="../../../../favicon.ico">

    <title>Starter Template for Bootstrap</title>

    <!-- Bootstrap core CSS -->
    <link
      rel="stylesheet"
      href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css"
      integrity="sha384-PsH8R72JQ3SOdhVi3uxftmaW6Vc51MKb0q5P2rRUpPvrszuE4W1povHYgTpBfshb"
      crossorigin="anonymous">


    <!-- jQuery libraries -->
    <script
      src="https://code.jquery.com/jquery-3.2.1.min.js"
      integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
      crossorigin="anonymous"></script>
    <script
      src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"
      integrity="sha256-VazP97ZCwtekAsvgPBSUwPFKdrwD3unUfSGVYrahUqU="
      crossorigin="anonymous"></script>

    <!-- Custom styles -->
    <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">

  </head>

  <body>

    <nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
      <a class="navbar-brand" href="#">Navbar</a>
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>

      <div class="collapse …
Run Code Online (Sandbox Code Playgroud)

django jquery twitter-bootstrap

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

Django Rest Framework序列化器`source`给出了奇怪的必需错误

我有一个API,向我发送的字段名与我的模型中的字段名不匹配(并且我无法控制),并且正在尝试在序列化器中映射它们,但是由于某种原因,当我实际实现此方法时:

class UserSerializer(serializers.ModelSerializer):
    email = serializers.EmailField(source='customer_email')
    first_name = serializers.CharField(source='first name')
    last_name = serializers.CharField(source='last name')
    address = serializers.CharField(source='customer_address')
    phone = serializers.CharField(source='customer_phone')
    messenger_id = serializers.IntegerField(source='messenger user id')

    class Meta:
        model = User
        fields = ('id', 'url', 'email', 'first_name', 'last_name', 'address', 'phone', 'messenger_id',)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

{
    "phone": [
        "This field is required."
    ],
    "first_name": [
        "This field is required."
    ],
    "last_name": [
        "This field is required."
    ],
    "messenger_id": [
        "This field is required."
    ],
    "email": [
        "This field is required."
    ],
    "address": [
        "This …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

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

Django Celery 接收和接受任务,但不执行它们

我正在运行 Ubuntu 16.04、Gunicorn、Nginx 的 Digital Ocean 上运行 Django 1.11(使用 Cookiecutter-Django 模板构建)服务器,并尝试使用 Redis 设置 Celery 任务。当我这样做时,该服务似乎可以正常工作并接收定期任务:

celery -A config worker -B -l debug
Run Code Online (Sandbox Code Playgroud)

任务被接收并接受,但它们不执行。为了测试,我发送了这个函数:

@shared_task(name="sum_two_numbers")
def add(x, y, **kwargs):
    return x + y
Run Code Online (Sandbox Code Playgroud)

和:

add.delay(1,3)
Run Code Online (Sandbox Code Playgroud)

这是运行 Celery 的控制台的完整打印输出:

 -------------- celery@myproject v4.1.0 (latentcall)
---- **** -----
--- * ***  * -- Linux-4.4.0-112-generic-x86_64-with-Ubuntu-16.04-xenial 2018-02-19 23:18:12
-- * - **** ---
- ** ---------- [config]
- ** ---------- .> app:         myproject:0x7f2cd60dc9e8
- ** ---------- .> transport:   redis://127.0.0.1:6379//
- ** ---------- .> results:     redis://localhost:6379/
- …
Run Code Online (Sandbox Code Playgroud)

django redis celery django-celery ubuntu-16.04

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

用玩笑嘲笑高阶组件

我想确保可以通过玩笑来调用HOC组件,但是我似乎jest.mock无法正常工作。我的HOC是这样的:

const withEntity = (
  ...args
) => {
  const wrappedComponent = WrappedComponent => {
    const innerComponent = ({ ...props }) => {    
      return (
        <WrapperComponent
          {...props}
        >
          <WrappedComponent />
        </WrapperComponent>
      );
    };

    innerComponent.propTypes = {
      ...
    };

    return innerComponent;
  };

  wrappedComponent.propTypes = {
    ...
  };

  return wrappedComponent;
};

withEntity.propTypes = {
  ...
};

export default withEntity;
Run Code Online (Sandbox Code Playgroud)

在一个单独的文件中,该withEntity函数的调用方式如下:

export const DoSomething = withEntity(...args)(MyComponent);
Run Code Online (Sandbox Code Playgroud)

然后,在该DoSomething组件的测试文件中,我试图导入该withEntity函数并对其进行模拟,如下所示:

import withEntity from "../../../shared/entity/higher_order_components/withEntity";
jest.mock("../../../shared/entity/higher_order_components/withEntity");
Run Code Online (Sandbox Code Playgroud)

但是,当我实际尝试运行测试时,出现以下错误:

  ? Test …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs jestjs

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

模拟点击 React with Enzyme 不做任何事情

我有一个 React 组件类,我正在尝试测试单击行为,但在我的一生中,我无法实际运行模拟。这是组件类:

class Navbar extends Component {
  constructor(props) {
    super(props);

    this.toggle = this.toggle.bind(this);
    this.state = {
      isOpen: false
    };
  }

  toggle() {
    this.setState({
      isOpen: !this.state.isOpen
    });
  }

  render() {
    return (
      <NavbarWrapper expand={this.props.expand}>
        <NavbarBrand>{logo}</NavbarBrand>
        <NavbarToggler onClick={this.toggle} collapsed={!this.state.isOpen}>
          <NavbarIconBar className="top-bar" />
          <NavbarIconBar className="middle-bar" />
          <NavbarIconBar className="bottom-bar" />
        </NavbarToggler>
        <NavbarCollapsibleContent isOpen={this.state.isOpen} navbar>
          {this.props.children}
        </NavbarCollapsibleContent>
      </NavbarWrapper>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

这是测试:

const wrapper = shallow(<Navbar {...props} />);
const toggler = wrapper.find(NavbarToggler);
const content = wrapper.find(NavbarCollapsibleContent);

// initial state
expect(content.props().isOpen).toBe(false);

// click to expand …
Run Code Online (Sandbox Code Playgroud)

unit-testing reactjs enzyme

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

如何在django表单中包含id字段?

我正在尝试创建一个简单的表单,通过询问表单中的ID来提取记录。

views.py

class Bill(models.Model):
    """
    Represents a single purchase made by a customer at a business.
    """
    business = models.ForeignKey(Businesses)
    customer = models.ForeignKey(User, blank=True, null=True)
    charge = models.ForeignKey(Charge, blank=True, null=True)
    amount = models.IntegerField(verbose_name='Purchase amount (in cents)',
                                 validators=[MinValueValidator(0)])
    tip = models.IntegerField(verbose_name='Tip amount (in cents)',
                                 validators=[MinValueValidator(0)])
    comments = models.CharField(max_length=255, blank=True, null=True)
    timestamp = models.DateTimeField(auto_now_add=True)
Run Code Online (Sandbox Code Playgroud)

表格

从Django导入表单从django.forms导入ModelForm从transaction.models导入Bill

class BillSelectForm(ModelForm):
    class Meta:
        model = Bill
        fields = ('id',)
Run Code Online (Sandbox Code Playgroud)

views.py

@login_required(login_url='/sign-in/')
def select_bill(request):
    """
    Finds a bill based on its ID number.
    """
    if request.method …
Run Code Online (Sandbox Code Playgroud)

python forms django django-forms

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

使用TypeScript分解功能参数中的道具

我正在尝试使用TypeScript的组件库,并尝试将React中的无状态功能组件从ES6 / JavaScript转换为TypeScript。我想知道如何在传递函数参数的同时仍然能够在函数外部解构props的同时避免重复自己。

我的组件当前如下所示:

const allowedColors = {
  warning: "fa fa-exclamation",
  info: "fa fa-info",
  success: "fa fa-check",
  danger: "fa fa-minus-circle"
};

const AlertIcon = ({ className, color, ...props }) => (
  <FontAwesomeIcon
    {...props}
    iconClassName={allowedColors[color]}
    className={classNames(`alert-icon-${color}`, className)}
    aria-hidden="true"
    data-ut="alert-icon"
  />
);

AlertIcon.propTypes = {
  className: PropTypes.string,
  color: PropTypes.oneOf(Object.keys(allowedColors)).isRequired
};
Run Code Online (Sandbox Code Playgroud)

我将如何将其重构为TypeScript?

typescript reactjs

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

Ionic 3 / Angular 5 http.post请求标头未通过

我试图通过一个API来执行一个非常简单的get请求,但是由于我遇到了身份验证错误,因此似乎没有提供这些选项,即使在邮递员上使用相同的身份验证令牌也是如此。这是代码:

import { HttpClient, HttpHeaders } from '@angular/common/http';



@Injectable()
export class UsersService {

  private nearby_url: string = APP_CONFIG.apiEndpoint + '/users/closest/';
  private me_url: string = APP_CONFIG.apiEndpoint + '/users/me/';
  private conversations_url: string = APP_CONFIG.apiEndpoint + '/users/conversations/';

  constructor(private http: HttpClient) { }

  createAuthorizationHeader() {
    var headers = new HttpHeaders();
    // get auth token

    // append auth token to headers
    headers.append("Authorization", 'Token xxxxxxxxxxxyyyyyyyyyyyyzzzzzzzzz');

    return headers
  }

  getPersonResponse(url): Observable<PersonResponse> {
    const options = {
      headers: this.createAuthorizationHeader()
    };

    return this.http.get(url, options)
      .map((response: Response) => …
Run Code Online (Sandbox Code Playgroud)

ionic-framework ionic3 angular

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